重复模块中的重复标识符

时间:2014-05-17 22:48:12

标签: typescript

我有2个文件在我的解决方案中包含相同的模块(不同的项目)。

module myModule{
    export function doStuff(){} // in here "doStuff" is getting redlined
}

这个错误显然是因为我有2个文件,其中包含相同的代码。但看到他们没有引用彼此或其他任何事情,我看不出他们如何冲突。

1 个答案:

答案 0 :(得分:1)

如果您使用的是Visual Studio,它会将所有文件视为隐式引用所有TypeScript文件。

因此,如果它认为两个模块具有相同的公共根,它会认为一个是另一个模块的扩展,并会尝试警告您重复的声明。

虽然您可能认为它们不是同一个模块,但值得从框架类库中获取一些灵感,它们很少单独依赖命名空间来区分两个类,例如以下两个类都可能有被称为Command,但它们已被类名和命名空间区分开来:

  • System.Data.SqlClient.SqlCommand
  • System.Data.OracleClient.OracleCommand