我可以在TypeScript中将成员添加到现有类型吗?

时间:2017-01-21 23:08:20

标签: typescript

查看definition file for the commander project,您可以在其使用的某个界面中看到此内容:

public bool IsGazeActivated 
{
 get { return _bIsGazeActivated; }
 set { if (value != _bIsGazeActivated) RaiseOnPropertyChanged("IsGazeActivated"); }
}

全能interface IExportedCommand extends ICommand { Command: commander.ICommandStatic; Option: commander.IOptionStatic; [key: string]: any; } 很不错,但我很好奇,看看我是否可以通过使用特别命名的成员扩充我自己文件中的类型来做得更好一些。

不幸的是,由于命名空间和模块行为(我仍然只有85%的信心),我无法想出正确的咒语。

我觉得通过声明合并,我可以得到我想要添加成员到该界面的内容。或许这是不可能的,我只能追踪到这个事实......

1 个答案:

答案 0 :(得分:-1)

您可以简单地添加到您的文件

interface IExportedCommand {
    myOption: string;
}

如果您想在多个文件中使用此扩展,我建议您将其添加到单独的文件中。如果您的IDE没有加载它,请自动通过标题中的引用注释强制它。

/// <reference path="path/to/your/file.ts" />