C# 如何将枚举分配给变量?
我想简化对枚举的引用:C# 如何将枚举分配给变量?,c#,enums,variable-assignment,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 t
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;
当心如果您已在名为instanceConsoleApplication
的命名空间中声明了您的Order
类,则必须在下单前准备结束该类
using Status = ConsoleApplication.Order.OrderStatus;
您可以使用alias指令将其缩短一点。这需要在与SomeOther类相同的命名空间中编写
using OrderStatus = Order.OrderStatus;
首先,必须将枚举公开,以便它在类外可见:
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);
}
}
我建议使用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()方法中对工作流有效。将
枚举
移出类顺序
?使用枚举的类型作为变量的类型。.可能重复的