2016-04-26 70 views
1

的属性我有:延伸基本接口

interface A { 
    x: { 
    f1(s: string): string; 
    }; 
} 

interface B extends A { 

} 

我想延长A.x以包括乙F2(而不必重新声明F1)。喜欢的东西:

interface B extends A { 
    x: { 
    f2(s: string): string; 
    }; 
} 

这可能吗?任何参考文献/文档都会很棒。

回答

2

我会使用仿制药,是这样的:

interface X1 { 
    f1(s: string): string; 
} 

interface X2 { 
    f2(s: string): string; 
} 

interface A<T> { 
    x: T 
} 

interface A1 extends A<X1> {} 

interface A2 extends A<X2> {} 
+0

我想B中X有两个F1和F2进行。这个解决方案做到了吗? – Srinivas

+0

@Srinivas如果您将我的代码更改为“接口X2扩展X1”,那么是的。 –

+0

作品!谢谢 :) – Srinivas