[英]Alias for enum value name in C#
我可以在C#中為枚舉值名稱創建別名嗎? 例如,我有兩個文件:A和B.
public class A
{
public enum myEnum
{
value_1,
value_2
};
}
我想在B類中使用這個枚舉:
public class B
{
private A.myEnum[] tab = { A.myEnum.value_1, A.myEnum.value_2, A.myEnum.value_1 ..}
}
我想為:A.myEnum.value_1和A.myEnum.value_2創建一個別名,所以我可以寫
private A.myEnum[] tab = { alias_1, alias_2},
我想我可能會遺漏一些東西,但是:
public class B
{
private const A.myEnum alias_1 = A.myEnum.value_1;
private const A.myEnum alias_2 = A.myEnum.value_2;
private A.myEnum[] tab = {alias_1, alias_2};
}
使用類似的輔助方法
public static myEnum GetEnumName(string str)
{
switch(str)
{
case "alias_1": return myEnum.Value_1;
case "alias_2": return myEnum.Value_2;
default: throw new Exception();
}
}
您只需獲取所有值並將其轉換為數組:
myEnum[] tab = Enum.GetValues(typeof(myEnum)).Cast<myEnum>().ToArray();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.