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# 中完成吗?
您已经在类的范围内创建了一个枚举。只需将枚举移出,以便在命名空间内“独立”:
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)
后者的缺点是您必须在您打算使用它的每个类中重复使用。