这是我的代码:
public foo<T>(src: object, type: Type<T>): T;
public foo<T>(src: any[], type: Type<T>[]): T[];
public foo<T>(src: object | any[], type: Type<T> | Type<T>[]): T | T[] {...}
Run Code Online (Sandbox Code Playgroud)
我想做的是保证以下约束的重载:
问题是类型对象也可以是数组,因此以下组合成为可能:
foo([...], MyType) > {}
Run Code Online (Sandbox Code Playgroud)
有办法避免吗?或者你能推荐我一种重写重载的方法吗?