1
是否可以使用不同的特定實現內聯初始化接口類型爲IFooFace
的數組?或者是不可能的,我必須在數組之前初始化我的對象,然後將它們傳入?在接口類型數組中內聯初始化不同類型的對象
這是我能做到這一點在C#:
public interface IFooFace
{
int Id { get; }
}
public class Bar : IFooFace
{
public int Id { get; set; }
public string Name { get; set; }
}
public class Zar : IFooFace
{
public int Id { get; set; }
public string MegaName { get; set; }
}
internal class Program
{
public static IFooFace[] Data =
{
new Bar
{
Id = 0,
Name = "first"
},
new Zar
{
Id = 1,
MegaName = "meeeega"
}
};
}
這是我在打字稿嘗試:
export interface IFooFace {
id: number;
}
export class Bar implements IFooFace {
public id: number;
public name: string;
// a lot of more properties
}
export class Zar implements IFooFace {
public id: number;
public megaName: string;
// a lot of more properties
}
var Data : IFooFace[] = [
// how to initialize my objects here? like in C#?
// this won't work:
// new Bar(){
// id: 0,
// name: "first"
// },
// new Zar() {
// id: 1,
// megaName: "meeeeega"
// }
// this also doesn't work:
// {
// id: 0,
// name: "first"
// },
// {
// id: 1,
// megaName: "meeeeega"
// }
];
哇...我甚至沒有意識到,沒有任何對象初始化在所有 - 我一直以爲它工作時,你只是做'VAR BLA:富{。 ..''但是如果你用'instance of'查看它甚至不是'Foo'的實例,而不是'object' ......我必須說我有點失望......無論如何。 –