2014-01-24 28 views
1

我有一個奇怪的問題,Typescript(使用Visual Studio 2012和TypeScript v0.9.5),我希望有人可以清除。即使使用相同的數據類型,無法使用數據屬性在Typescript中擴展接口

下面的代碼工作正常:

interface IA { 
    data: any; 
} 

interface IB { 
    data: any; 
} 

interface IC extends IA, IB { } 

但是,使用聲明JQueryEventObject時如下:

interface JQueryEventObject extends BaseJQueryEventObject, 
    JQueryInputEventObject, JQueryMouseEventObject, JQueryKeyEventObject, 
    JQueryPopStateEventObject { } 

以及其中BaseJQueryEventObject聲明:

interface BaseJQueryEventObject extends Event { 
    data: any; 
    delegateTarget: Element; 
    isDefaultPrevented(): boolean; 
    isImmediatePropogationStopped(): boolean; 
    ... 
} 

時我試圖做到這一點:

interface IMyInterface { 
    data: any; 
} 

interface IMyCombinedInterface extends JQueryEventObject, IMyInterface { } 

它抱怨以下消息:

接口IMyCombinedInterface不能同時延伸類型JQueryEventObjectIMyInterface:的屬性類型的類型JQueryEventObjectIMyInterfacedata是不相同的。

任何人都知道我是否做錯了什麼或者這可能是一個錯誤?

+2

這看起來像是一個bug。 –

+0

這爲我編譯使用0.9.1.1什麼版本的TS你編譯 –

+0

它編譯,但VS抱怨(對不起,將更新該職位,說我使用visual studio)。我正在使用TS的v0.9.5。 – Anupheaus

回答

2

下編譯好了最新的打字稿(1.5)+ IDE未顯示任何錯誤:

interface JQueryEventObject extends BaseJQueryEventObject, 
    JQueryInputEventObject, JQueryMouseEventObject, JQueryKeyEventObject { }{ } 

interface IMyInterface { 
    data: any; 
} 

interface IMyCombinedInterface extends JQueryEventObject, IMyInterface { } 

所以

當時一個錯誤,但已被修復。

相關問題