enum tanımlamak için herhangi bir yolu var C# aşağıda gibi?dize değerleri enum C#
public static bool IsValidDescription(string description)
{
var enumType = typeof(Culture);
foreach (Enum val in Enum.GetValues(enumType))
{
FieldInfo fi = enumType.GetField(val.ToString());
AmbientValueAttribute[] attributes = (AmbientValueAttribute[])fi.GetCustomAttributes(typeof(AmbientValueAttribute), false);
AmbientValueAttribute attr = attributes[0];
if (attr.Value.ToString() == description)
return true;
}
return false;
}
herhangi bir iyileşme:
public enum MyEnum : string
{
EnGb = "en-gb",
FaIr = "fa-ir",
...
}
Tamam, erick yaklaşımı ve bağlantı göre, ben bu tariften geçerli değerini kontrol etmek kullanıyorum?
Cevaplardan da görebileceğiniz gibi ... C# 'da enum desteği, temel özelliklerin ötesinde, özellikle de C veya C++ dünyasından gelen eksiklikler. Onların gerçekten yapmak istemedikleri bir şeyi yapmalarını sağlamak için çok fazla zaman harcamayın. Ben yaptım, bu yüzden sende de yok :) Bu özel senaryoda – Rusty