在Typescript中使用命名空间

时间:2019-04-02 08:14:14

标签: typescript namespaces

在TypeScript中using namespace是否有其他选择?这里我有一些带有名称空间和接口的文件:

declare namespace NamespaceA {

    export interface IClassA { }

    export namespace NamespaceB {

        export interface IClassB { }

        export namespace NamespaceC {

            export interface IClassC1 { }
            export interface IClassC2 { }
            export interface IClassC3 { }

        }
    }
}

我想在另一个文件中使用IClassC1IClassC2IClassC3

class ClassA implements NamespaceA.NamespaceB.NamespaceC.IClassC1 {  }
class ClassB implements NamespaceA.NamespaceB.NamespaceC.IClassC2 {  }
class ClassC implements NamespaceA.NamespaceB.NamespaceC.IClassC3 {  }

写这么长的名字不是很好。所以我为每个接口创建了自己的类型:

type IClassC1 = NamespaceA.NamespaceB.NamespaceC.IClassC1
type IClassC2 = NamespaceA.NamespaceB.NamespaceC.IClassC2
type IClassC2 = NamespaceA.NamespaceB.NamespaceC.IClassC2

class ClassA implements IClassC1 {  }
class ClassB implements IClassC2 {  }
class ClassC implements IClassC3 {  }

但是还有什么更好的方法吗?例如:

using namespace NamespaceA.NamespaceB.NamespaceC

class ClassA implements IClassC1 {  }
class ClassB implements IClassC2 {  }
class ClassC implements IClassC3 {  }

0 个答案:

没有答案