나는 열거 형의 유형 (System.Type)과 설정할 열거 형 값을 포함하는 문자열을 가지고 있습니다.유형 및 값 이름으로 enum 객체를 만드는 방법은 무엇입니까?
예. 주어진 :
enum MyEnum { A, B, C };
나는 typeof (MyEnum)와 "B"를 가지고있다.
MyEnum 개체를 MyEnum.B로 설정하려면 어떻게해야합니까?
나는 열거 형의 유형 (System.Type)과 설정할 열거 형 값을 포함하는 문자열을 가지고 있습니다.유형 및 값 이름으로 enum 객체를 만드는 방법은 무엇입니까?
예. 주어진 :
enum MyEnum { A, B, C };
나는 typeof (MyEnum)와 "B"를 가지고있다.
MyEnum 개체를 MyEnum.B로 설정하려면 어떻게해야합니까?
MyEnum enumValue = (MyEnum)Enum.Parse(typeof(MyEnum), "B");
또한 대소 문자를 구분하지 않습니다.
나는 당신이 단지 대해서 typeof에 (MyEnum), MyEnum에 대한 액세스 권한이없는 가정
void foo(Type t)
{
Object o = Enum.Parse(t, "B");
}
당신은 제네릭이 작업을 수행 할 수 있습니다.
string s = "B";
MyEnum enumValue = Utils.ParseEnum<MyEnum>(s);
:
public static class Utils {
public static T ParseEnum<T>(string value) {
return (T)Enum.Parse(typeof(T), value, true);
}
는 다음과 같이 호출
:이 포장하는 유틸리티 클래스를 생성