簡體   English   中英

使用多個接口繼承的打字稿名稱沖突/沖突

[英]Typescript name collision/clash using multiple interface inheritance

如果在Typescript中我有兩個接口都具有相同名稱的成員,那么如何安全地實現這兩個接口? 這有可能嗎?

例:

interface IFace1 {
    name: string;
}
interface IFace2 {
    name: string;
}

class SomeClass extends IFace1, IFace2 {
    // How to implement IFace1.name and IFace2.name ??
}

我知道在C#中可以解決此問題,並且可以在運行時使用C#的類型信息,但是Typescript呢?

TypeScript使用結構類型系統,因此IFace1IFace2之間絕對沒有區別。 您可以這樣實現它們:

class SomeClass implements IFace1, IFace2 {
    name = 'foo';
}

正如vcsjones所提到的,由於沒有運行時類型信息,因此沒有可行的方法可以名義上起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM