【发布时间】:2019-10-12 00:16:45
【问题描述】:
可以说,我有枚举:
MyNameSpace.MyLongEnumName { Green, Red }
如何在基类(即a)中创建该枚举的简写,以便在派生类(如b)中轻松使用它?
即first.cs:
namespace Foo
{
public class a
{
// phseudo-code,like:
using xx = MyNameSpace.MyLongEnumName;
}
}
second.cs:
namespace Foo
{
public class b : a
{
// phseudo-code,like:
xx myProperty = xx.Green;
}
}
附言这里的重点是避免在派生类的.cs 文件的顶部出现using ...。
【问题讨论】:
-
好吧,你不能在类声明中使用
using这样的指令。using指令必须位于命名空间中(或外部)的所有其他元素(例如类或其他枚举)之前。因此,您可以将using指令移到class a声明之上,同时仍将其保留在Foo命名空间中。但是,是的,这对派生类的源文件没有帮助。好吧,虽然很幸运,我猜... :-( -
var myProperty = MyNameSpace.MyLongEnumName.Green有什么问题?我的意思是你可以把它缩短到var myProperty = MyLongEnumName.Greenusing MyNameSpace;