【发布时间】:2015-08-31 23:33:27
【问题描述】:
我有以下代码:
public static testMethod<T extends MyModule.ITest>(fromArray: T): T;
public static testMethod<T extends MyModule.ITest>(fromArray: T[]): T[];
public static testMethod<T extends MyModule.ITest>(fromArray: (T|T[])): (T|T[])
{
return null;
}
module MyModule
{
export interface ITest
{
}
}
Typescript 在无正文函数的返回类型上抱怨“重复标识符 'testMethod'”和“函数 'testMethod' 声明了一个非 void 返回类型,但没有返回表达式”。如果我从泛型类型中删除“扩展 ITest”,一切似乎都正常。
【问题讨论】:
-
问题在于
IBase。您可以在您的问题中添加IBase和ObservableArray。我猜IBase定义deepCopyArray的方式与ObservableArray不兼容。 -
IBase 没有 deepCopyArray 的定义。 IBase 是 ObservableArray 中项目的类型,与 deepCopyArray 没有任何关系。我已经更改了我的问题以显示一个简化的示例,该示例不涉及这些无关紧要的更复杂的类型。
标签: typescript