स्ट्रिंग द्वारा enum मान प्राप्त करने के लिए C # में विधि है
public T GetEnumValue<T>(string str) where T : struct, IConvertible
{
if (!typeof(T).IsEnum)
{
throw new Exception("T must be an Enumeration type.");
}
T val = ((T[])Enum.GetValues(typeof(T)))[0];
if (!string.IsNullOrEmpty(str))
{
foreach (T enumValue in (T[])Enum.GetValues(typeof(T)))
{
if (enumValue.ToString().ToUpper().Equals(str.ToUpper()))
{
val = enumValue;
break;
}
}
}
return val;
}
निम्नलिखित सी # में विधि है जो int द्वारा enum मान प्राप्त करने के लिए है।
public T GetEnumValue<T>(int intValue) where T : struct, IConvertible
{
if (!typeof(T).IsEnum)
{
throw new Exception("T must be an Enumeration type.");
}
T val = ((T[])Enum.GetValues(typeof(T)))[0];
foreach (T enumValue in (T[])Enum.GetValues(typeof(T)))
{
if (Convert.ToInt32(enumValue).Equals(intValue))
{
val = enumValue;
break;
}
}
return val;
}
यदि मेरे पास एक एनम निम्नानुसार है:
public enum TestEnum
{
Value1 = 1,
Value2 = 2,
Value3 = 3
}
तो मैं उपरोक्त विधियों का उपयोग कर सकता हूं
TestEnum reqValue = GetEnumValue<TestEnum>("Value1");
TestEnum reqValue2 = GetEnumValue<TestEnum>(2);
आशा है कि यह मदद करेगा।