首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何编写X.Base.Descendant,其中X.Base既是类又是模块

如何编写X.Base.Descendant,其中X.Base既是类又是模块
EN

Stack Overflow用户
提问于 2013-09-19 09:04:12
回答 1查看 110关注 0票数 0

下面是环境声明代码(我使用的是TypeScript 0.9.1.1):

代码语言:javascript
复制
// file Base.d.ts
declare module X
{
    export class Base
    {
    }
}

// file Descendant.d.ts
declare module X.Base
{
    export class Descendant extends Base
    {

    }
}

编译器说:

类型引用不能引用容器'X.Base‘

我只找到了一个解决办法,方法是将所有内容放在一个文件中的单个模块中:

代码语言:javascript
复制
declare module X {
    export class Base {
    }

    export module Base {
        export class Descendant extends X.Base {

        }
    }
}

但是,我想将两个类保存在单独的文件中。这个是可能的吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-19 12:34:54

不幸的是,它被遮蔽了:

代码语言:javascript
复制
// file Base.d.ts
declare module X
{
    export class Base
    {
    }
}

// file Descendant.d.ts
declare module X.Base
{
    // Starting at this point Base will always refer to 
    // module not the class
}

PS:对于你的单一文件解决方案,你很幸运。因为秩序似乎很重要(不应该是这样的)。例如,以下是一个错误(在类之前声明的模块):

代码语言:javascript
复制
declare module X {
    export module Base {
    }

    export class Base {
    }
}

提交了一个错误报告:https://typescript.codeplex.com/workitem/1701

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18890427

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档