我使用的是一个使用名为" Transaction"的类的库。问题是我想在我的项目中定义一个同名的类。
我知道别名,但问题是它看起来真的很难看。有没有办法只为特定类型使用别名?所以我不必为库中的每个类使用Alias.Class,但只有当我使用Transaction时?
示例(Class1,Class2和Transaction在同一个库指令中):
Class1 obj1 = new Class1();
Class2 obj2 = new Class2();
Library.Transaction obj3 = new Library.Transaction();
答案 0 :(得分:2)
在代码顶部写入别名(使用部分):
using ExternalTransaction = Library.Transaction;
或者可能不那么混乱:
using Library_Transaction = Library.Transaction;
//Or using TransactionAlias = Library.Transaction;
然后像:
一样使用它ExternalTransaction et = new ExternalTransaction();
//Library_Transaction lt = new Library_Transaction();
//TransactionAlias ta = new TransactionAlias();
<强> DotNetPerl's example 强>
答案 1 :(得分:1)
如果Class1,Class2和Transaction在同一名称空间中,那么不可以,因为您对整个名称空间进行了别名。然后,您可以完全限定类型Namespace.Class
或为类型
答案 2 :(得分:1)
这不是一个罕见的问题。事实上,我们特别针对不同的“Timer”类提出了这些问题。其中有at least 4 in the .NET Framework。这一切都是花花公子,除非您偶然使用其他时间名称空间(可能很容易发生)。
对于这些情况,有3个选项: