所以我有一个这样的枚举:
public class MyObnoxiouslyLongClassName : AbstractModel, IPerforceModule
{
public enum Status { Fatal, Priority, Error, Warning, Info, Debug }
当我在另一个类中访问枚举时,我必须这样做:
MyObnoxiouslyLongClassName.Status state = MyObnoxiouslyLongClassName.Status.Fatal
我想要做的就像在我的另一个类中链接到这个枚举所以我可以跳过长类名...就像这个伪代码:
public class MyOtherClass : AbstractModel, IFileBrowser
{
private enum Status = MyObnoxiouslyLongClassName.Status
Status state = Status.Fatal;
(state == MyObnoxiouslyLongClassName.Status.Fatal) //true
任何方式都可以在C#中完成?
答案 0 :(得分:4)
您已在类的范围内创建了一个枚举。只需将枚举移动到名称空间内“它自己站立”:
public enum Status { Fatal, Priority, Error, Warning, Info, Debug }
public class MyObnoxiouslyLongClassName : AbstractModel, IPerforceModule
{
另一种方法是创建using
:
using Short = NameSpace.MyObnoxiouslyLongClassName.Status;
后者的缺点是你必须在每个打算使用它的课程中重复使用。