본문 바로가기

Programming/Windows.C#

String 문자열을 Enum으로 바꾸는 방법

반응형

String 문자열을 Enum으로 바꾸는 방법이다.

만약 다음과 같은 Enum이 있다고 보자

public enum Color
{
    Black,
    White,
    Blue,
    Red,
    Green
}

 

String으로 얻어온 문자를 Enum으로 바꿀려면 다음과 같이 사용하면 된다.

Color c = (Color)Enum.Parse(typeof(Color), "Blue")

 

아래는 Generic을 이용해서 어떤 타입이 오던지 상관없이 바꿔주도록 클래스를 구현하는 방법이다.

public static class EnumUtil<T> {
    public static T Parse(string s) {
 	return (T)Enum.Parse(typeof(T), s)
    }
}

public void GetColorFromString(string color) {
    Color c = EnumUtil<Color>.Parse("Black")
}

 

출처 : http://weblogs.asp.net/wim/archive/2006/07.aspx

반응형