如何为变量分配枚举?

时间:2016-01-08 22:51:34

标签: c# enums variable-assignment

我想简化我对枚举的引用:

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);
    }
}

关于我如何做到这一点的任何想法?

4 个答案:

答案 0 :(得分:-1)

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

using Status = Order.OrderStatus;

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

using Status = ConsoleApplication.Order.OrderStatus;

答案 1 :(得分:-1)

您可以使用别名指令将其缩短一点。这需要写在与SomeOtherClass相同的命名空间中。

using OrderStatus = Order.OrderStatus;

答案 2 :(得分:-1)

首先,你必须公开枚举,因此它在课堂外可见:

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);
    }
}

答案 3 :(得分:-1)

我建议使用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);
    }
}

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