使用1个类,它存在于2个引用中

时间:2010-05-25 16:20:45

标签: c# .net types

In .NEt C#当项目引用中存在同名的第二个Type时,如何告诉编译器使用特定类的Type?

我希望使用的类存在于2个项目引用中。 命名空间等是相同的。 我在项目中需要两个引用,但对于这个特定的类,我希望使用其中一个引用程序集中的引用。

1 个答案:

答案 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));
   }
}