개체의 멤버 변수 인 열거 형을 사용하고 있습니다. 열거 형의 정확한 형식을 알지 못합니다. 단지 System.Enum
에서 파생되었습니다. 열거 형의 기본 숫자 값을 설정하려고합니다. 즉 :System.Enum의 기본 값을 설정하십시오.
Enum e;
// ...
e = 42; // Doesn't comple
이게 가능합니까? 리플렉션으로 처리 할 수 있습니까?
편집 1 : 열거 형은 더 큰 데이터 구조의 일부이므로 Enum.ToObject()를 사용하여 새 값을 만드는 것은 적합하지 않습니다.
편집 2 : 열거 형 개체의 멤버 변수임을 명확히했습니다.
편집자 3 : 몇 명의 주석 작성자가 더 많은 컨텍스트를 요구 했으므로 UI 컨트롤 (텍스트 상자 등)을 객체 데이터 모델의 해당 필드와 연관시키는 범용 코드가 있습니다. UI가 변경되면 모델이 업데이트되고 그 반대의 경우도 마찬가지입니다. 나는 이것을 확장하여 콤보 상자와 열거 형 사이에 매핑하고자했습니다. 여기서 열거 형은 선택된 콤보 엔트리의 인덱스로 설정 될 것이다. 열거 형의 기본 값에서 선택한 항목을 설정하는 것은 쉬운 일이 아니지만이 문제의 반대로 문제가 발생합니다. 나는 이것이 가능하지 않을 것이라고 확신했지만 물어볼 가치가 있다고 생각했다. bacause Enum
복싱 된 값이고, 당신은에 액세스 할 수 있어야 뭔가를 상자하기 위해 -
이렇게해도 사용자 기능에 전달 된 Enum 값은 변경되지 않습니다. 너 뭐하려고? – Random832
btw, "열거에 대한 참조"라는 의미를 분명히하는 데 도움이 될 수 있습니다. 값을 직접 참조하려면 타입을 알아야합니다 (일반적인 메소드에서 'T'일지라도). 그렇지 않으면 아마도 원래 값 자체가 아닌 * boxed copy *에 대한 참조를 사용하고있을 것입니다. –
이것은 우주와 모든 것의 생명에 대한 해답입니다! 열거 형을 사용하려면 디자인을 알고 있어야합니다. 낭비되는 시간을위한 Downvote. – MrFox