如何在两个不同的DLL中访问具有相同完全限定名称的类型

本文关键字:访问 类型 定名称 DLL 两个 | 更新日期: 2023-09-27 18:24:28

我需要同时引用程序集PresentationFramework.ClassicPresentationFramework.Luna,并且我遇到了需要使用Microsoft.Windows.Themes.DataGridHeaderBorder类型的情况。但这会产生错误,因为两个程序集都定义了此类型。我的意思是,对于这种类型,我可以参考它们中的任何一个(Classic或Luna),这只是一个简单的Datagrid,我需要在其中检查是否单击了DataGridHeaderBorder

提前谢谢。

如何在两个不同的DLL中访问具有相同完全限定名称的类型

试试这个:

using Clasic = PresentationFramework.Classic;
using Luna = PresentationFramework.Luna;

namespace Test1
{
    class Program
    {
        static void Main(string[] args)
        {
            Clasic.Microsoft.Windows.Themes.DataGridHeaderBorder bClassic;
            Luna.Microsoft.Windows.Themes.DataGridHeaderBorder bLuna;
        }
    }
}

这是外部程序集别名要解决的那种情况。如果不需要命令行编译,也可以在VisualStudio中使用引用属性表中的"别名"属性来指定引用的别名。看见http://blogs.msdn.com/b/ansonh/archive/2006/09/27/774692.aspx作为一个完整的例子。