如何将枚举分配给变量

本文关键字:变量 分配 枚举 | 更新日期: 2023-09-27 18:29:37

我想简化对枚举的引用:

class Order
{
    enum OrderStatus{open,cancelled, onHold}
}

与之相当的东西:

class SomeOtherClass
{
    // assign enum to a simpler name
    enum Status = Order.OrderStatus
    public void foo(){
        // so the reference is simpler, rather than Order.OrderStatus.open
        Console.Write(Status.open);
    }
}

关于我该怎么做有什么想法吗?

如何将枚举分配给变量

您可以将此语句放在源代码文件的顶部。

using Status = Order.OrderStatus;

小心如果您在一个名为ConsoleApplication的命名空间中声明了Order类,则必须在Order之前准备结束。

using Status = ConsoleApplication.Order.OrderStatus;

您可以使用别名指令来缩短这段时间。这需要在拥有SometherClass的同一命名空间中编写。

using OrderStatus = Order.OrderStatus;

我建议使用Enum作为额外的,并在任何需要的地方使用/重用它,如下所示:

public enum OrderStatus 
{ 
   open, 
   cancelled, 
   onHold 
}
class SomeOtherClass
{
    private OrderStatus Status;
    public void foo(){
        // so the reference is simpler, rather than Order.OrderStatus.open
        Console.Write(Status.open);
    }
}

如果Order是"SomeOtherClass"的一部分,并且在这里是相关的,请在构造函数中转发它,并使其对foo()方法中的工作流有效。

首先,必须将枚举公开,这样它才能在类外可见:

class Order
{
    public enum OrderStatus { open, cancelled, onHold }
}

然后你可以为它分配一个别名,以便更简单地访问

// give an alias
using Status = Order.OrderStatus;
class SomeOtherClass
{
    public void foo(){
        // reference is now simpler, rather than Order.OrderStatus.open
        Console.Write(Status.open);
    }
}