【发布时间】:2011-08-12 05:18:05
【问题描述】:
我想做的是在一个新的命名空间中用 C# 编写一些类,作为另一个命名空间中的类的包装类。有时不需要包装类,但我仍然想要新命名空间中的相应类。我想要一个准确的课程副本。有没有办法通过引用另一个类的定义来定义新命名空间中的类?换句话说,我想要一个别名。
为了澄清我的意思,如果现有命名空间被命名为“Namespace1”而新命名空间被命名为“Namespace2”,在 Namespace2 中使用如下代码:
using Class1 = Namespace1.Class1;
不会工作,因为Namespace2.Class1 不存在。 Class1 只会被别名为“私有”到 Namespace2,而不是“公共”到 Namespace2。如果我可以在命名空间之外使用Namepsace2.Class1,并且如果它仍然引用Namespace1.Class1,那么这就是我想要的。
我认为可能有一种方法可以通过属性或反射来实现这一点。如果有一些预处理器指令或宏可以复制也可以工作的代码,但显然 C# 没有这样的东西。
【问题讨论】: