1

我在两个不同的程序集 ClassLibrary1 和 ClassLibrary2 的命名空间 Phoenix 下有一个类 MyClass。ClassLibrary2 是 ClassLibrary1 中的引用。现在,在我的 ClassLibrary1 中,无论我使用了 MyClass 类型,它都会向我发出与导入类型冲突的警告。如何在不使用 pragma 指令抑制警告的情况下解决此问题?

4

1 回答 1

2

通过进入引用本身的属性,为项目中的ClassLibrary2引用提供别名(默认的“全局”除外) 。ClassLibrary1

如果您想使用 ClassLibrary1 版本,这将立即消除警告。

现在,每当您想从 ClassLibrary2 dll 中访问某些内容时,您都需要将其放在您的类代码之上:

extern alias <yourAliasName>;
using MyClassOther = yourAliasName::Phoenix.MyClass;

如果您想阻止引用其他类的现有代码ClassLibrary1工作,您可以保留全局别名,只需向引用添加另一个别名。这样,您只需要在实际使用MyClass. 然后,您将需要在(希望)少得多的情况下完全限定使用情况。

于 2013-10-11T15:18:14.570 回答