In .NEt C#当项目引用中存在同名的第二个Type时,如何告诉编译器使用特定类的Type?
我希望使用的类存在于2个项目引用中。 命名空间等是相同的。 我在项目中需要两个引用,但对于这个特定的类,我希望使用其中一个引用程序集中的引用。
答案 0 :(得分:4)
您使用extern aliases。 Anson Horton有walkthrough here。
这是一个问题的解决方案,当然,如果可能的话,你应该避免 - 但它确实有效。
具有讽刺意味的是,我刚刚在深度编辑了第二版C#的外部别名部分。这是相同的代码,其中First.dll和Second.dll都公开了一个名为“Demo.Example”的类型。
// Compile with
// csc Test.cs /r:FirstAlias=First.dll /r:SecondAlias=Second.dll
extern alias FirstAlias;
extern alias SecondAlias;
using System;
using FD = FirstAlias::Demo;
class Test
{
static void Main()
{
Console.WriteLine(typeof(FD.Example));
Console.WriteLine(typeof(SecondAlias::Demo.Example));
}
}