由于我使用了两个不同的通用集合名称空间(System.Collections.Generic
和Iesi.Collections.Generic
),所以发生冲突。在项目的其他部分,我同时使用nunit和mstest框架,但请限定当我调用Assert
时我想通过
using Assert = NUnit.Framework.Assert;
哪个效果很好,但我想对泛型类型做同样的事情。但是,以下几行不起作用
using ISet = System.Collections.Generic.ISet;
using ISet<> = System.Collections.Generic.ISet<>;
有人知道如何告诉.net如何对泛型使用using语句吗?
我认为最好将名称空间本身作为别名,而不是通用类型(我认为这是不可能的。)>
例如:
using S = System.Collections.Generic; using I = Iesi.Collections.Generic;
然后使用BCL
ISet<int>
:
S.ISet<int> integers = new S.HashSet<int>();
[不幸的是,using
指令没有执行您想要的操作。您可以说:
您可以别名化通用类型的唯一方法是按如下方式对其进行特殊化。
您的别名与类名本身相同,因此您仍然有歧义,就像每个名称空间都有一个using
。给该类的别名一个different
在某些情况下,您可以继承:
您可以为一个类添加别名: