是否可以通过快捷方式从另一个类引用枚举?

Oll*_*lli 0 c# enums reference

所以我有一个这样的枚举:

public class MyObnoxiouslyLongClassName : AbstractModel, IPerforceModule
{
    public enum Status { Fatal, Priority, Error, Warning, Info, Debug }
Run Code Online (Sandbox Code Playgroud)

当我访问另一个类中的枚举时,我必须这样做:

MyObnoxiouslyLongClassName.Status state = MyObnoxiouslyLongClassName.Status.Fatal
Run Code Online (Sandbox Code Playgroud)

我想要做的是链接到我其他类中的这个枚举,这样我就可以跳过长类名..像这样的伪代码:

public class MyOtherClass : AbstractModel, IFileBrowser
{
    private enum Status = MyObnoxiouslyLongClassName.Status
    Status state = Status.Fatal;
    (state == MyObnoxiouslyLongClassName.Status.Fatal) //true
Run Code Online (Sandbox Code Playgroud)

这可以在 C# 中完成吗?

Pat*_*man 5

您已经在类的范围内创建了一个枚举。只需将枚举移出,以便在命名空间内“独立”:

public enum Status { Fatal, Priority, Error, Warning, Info, Debug }

public class MyObnoxiouslyLongClassName : AbstractModel, IPerforceModule
{
Run Code Online (Sandbox Code Playgroud)

另一种方法是创建一个using

using Short = NameSpace.MyObnoxiouslyLongClassName.Status;
Run Code Online (Sandbox Code Playgroud)

后者的缺点是您必须在您打算使用它的每个类中重复使用。