我在两个不同的程序集ClassLibrary1和ClassLibrary2中的名称空间Phoenix下有一个MyClass类。 ClassLibrary2是ClassLibrary1中的引用。 现在在我的ClassLibrary1中,只要我使用了MyClass类型,它就会向我发出与导入类型冲突的警告。 如何在不使用pragma指令抑制警告的情况下解决此问题?
答案 0 :(得分:1)
通过转到引用本身的“属性”,为ClassLibrary2
项目中的ClassLibrary1
引用指定一个别名(默认的“全局”除外)。
如果你想使用ClassLibrary1版本,这将立即消除警告。
现在,只要您想从ClassLibrary2 dll访问某些内容,就需要将其置于类代码之上:
extern alias <yourAliasName>;
using MyClassOther = yourAliasName::Phoenix.MyClass;
如果要保留引用ClassLibrary1
中其他类的现有代码,可以保留全局别名,只需在引用中添加另一个别名即可。这样,您只需要在实际使用MyClass
的类上使用上述代码。然后,您需要完全限定使用(希望)更少的情况。