我想简化我对枚举的引用:
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);
}
}
关于我如何做到这一点的任何想法?
答案 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()方法中对工作流有效。