我有一个名为Action的类型的名称解析有问题。虽然项目处于早期状态,并且所有内容都在同一个项目中声明,但编译器总是首选我自己的类。然而,由于需要将项目分成不同的程序集(即ProjectName.Common,ProjectName.Engine等),System.Action和ProjectName.Common.Action之间的命名冲突出现了。不同程序集中系统名称空间类型和用户定义类型之间的命名冲突
我发现我可以在任何项目文件的命名空间声明内显式导入项目内部命名空间,而系统仍然像IDE最初创建的那样导入全局范围。事实上,这种方法很有效,但看起来不太优雅。有没有更好的方法来解决这个问题?重命名我的Action类是不是一个真正的可接受的解决方案,因为它是一个相当普遍的域名,并没有什么特别喜欢数学,即等
代码示例:
using System;
...
namespace ProjectName.Engine {
using ProjectName.Common;
class SomeClass {
private Action action;
...
}
}
也许有人知道这些食谱一种命名冲突......
您可以将您的类型重命名为“Operation”。 – ChaosPandion 2012-02-22 15:20:34
@ChaosPandion:不幸的是,这正是一件让人无法接受的事情(至少对我而言);-) – 2012-02-22 18:00:39
谢谢大家的回答,他们都非常有帮助。然而,虽然大多数技术问题事先都比较清晰,但我认为有时候我只是在寻找“最佳美学”解决方案。 – 2012-02-22 18:03:54