gpt4 book ai didi

c# - TypeScript 数组的别名

转载 作者:行者123 更新时间:2023-11-30 13:08:02 24 4
gpt4 key购买 nike

我想将下面的 C# 代码翻译成 TypeScript:

[JsType(JsMode.Json)]
public class position : JsArray<JsNumber>
{
}

[JsType(JsMode.Json)]
public class coordinateArray : JsArray<position>
{
}

[JsType(JsMode.Json)]
public class polygonRings : JsArray<coordinateArray>
{
}

我试着这样做:

export interface position {
(): number[];
}

export interface coordinateArray {
(): position[];
}

export interface polygonRings {
(): coordinateArray[];
}

但是当我尝试转换它时我遇到了一些问题:

Cannot convert 'coordinateArray' to 'position[]'.

在代码中:

(<position[]> lineString.coordinates).push(position);

最佳答案

export interface coordinateArray {
(): position[];
}

您所描述的不是数组,它是一种函数类型,在调用时返回一个数组:

var x: coordinateArray = ...;
var y = x(); // y: position[]

您可能想要定义一个索引签名:

export interface coordinateArray {
[index: number]: position;
}

这不会直接转换为 position[] 因为它实际上仍然不是一个数组(真正的 position[] 会有像 splicepush,但 coordinateArray 没有),但至少关于类型的形状是正确的。

关于c# - TypeScript 数组的别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14939930/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com