2011-05-05 6 views
1

열거 형을 처음 사용합니다.enum 및 Enum 도움말.

이 나는이 열거있어 :

public enum Categories 
{ 
    Animals, 
    Animations, 
    Accessories, 
    Apearance, 
    Clothing, 
    Gadgets, 
    Land, 
    Scripts, 
    Vehicles, 
    Weapons, 
    Other 
} 

가 그럼 난이 변수를 가지고 : 나는 Category 오른쪽 열거 동일 될 수 있도록 사용자 입력 (문자열) 구문 분석하려고 해요 private Categories Category; . 난 당신이 내가 말하려는 의미를 이해 희망

'Product.Categories' is a 'type' but is used like a 'variable' 

:

this.Category = Enum.Parse(Categories ,cat); 

는 그리고이 오류가 발생합니다.

답변

3

패스 대신 Categoriestypeof(Categories) 및 캐스트를 추가 : 당신은 또한 당신의 열거에 object에서 캐스팅 (이 반환)을 수행 할 필요가

this.Category = (Categories)Enum.Parse(typeof(Categories), cat); 

this.Category가 있다고 가정 Categories 인 경우 Enum.Parse이 유형 값인 object을 반환하기 때문에 필요합니다.

+0

'this.Category'는 실제로 다음과 같이 선언됩니다. :) – BoltClock

4

Enum.Parse()과 같은 방법으로 Type 개체를 사용하려면 typeof 연산자를 사용하십시오. 이 같은

this.Category = (Categories) Enum.Parse(typeof(Categories), cat); 
+0

위의 대답에 추가하려면 [msdn]에 대한 예제도 있습니다 (http://msdn.microsoft.com/en-us/library/essfb559.aspx#9ad1524e-346d-4e5d-8637- 88a5cc1ba98a) – Matt