c# – 如何为同一枚举提供两个名字? (类型名称别名)

我需要两个具有不同名称的exacly idential枚举

我可以

enum DoorStatus{Open,Closed,Locked,Broken};
enum WindowStatus{Open,Closed,Locked,Broken};

并且可能会更容易阅读.

但我宁愿不重复代码

在C id做

typedef Door,Window;

C#中的灵魂是什么?

你为什么要问?
我得到了处理窗口的应用程序
处理门的应用程序.
我希望Window应用程序devoloper使用’WindowStatus’枚举发送数据
‘Door’家伙使用’DoorStatus’枚举.

我相信用户应该知道或关心我有其他可以类似抽象的设备.

编辑:使用

enum HatchStatus{Open,Closed,Locked,Broken};
using DoorStatus = HatchStatus;
using WndowStatus = HatchStatus;

EDIT2:

错误using子句必须位于命名空间中定义的所有其他元素之外,extern alias声明除外

🙁

最佳答案
如果您只想要一个别名,可以使用using指令:

using Enum2 = Enum1;

转载注明原文:c# – 如何为同一枚举提供两个名字? (类型名称别名) - 代码日志