2016-04-26 38 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