문제

중첩 된 열거로 클래스를 만들고 싶습니다.

public class Foo
{
    public enum Views
    {
    }
}

그러나 System.Reflection.emit.TypeBuilder 클래스에는 정의 된 NestedType 만 정의되지 않습니다. ModuleBuilder.DefineEnum이 존재하지만 열거를 만들 수 있지만 중첩으로 만들 수있는 방법은 없습니다. 열거를 만들지 않고 열거를 만들 수 있습니까 (예 : enumbuilder를 사용하여).


솔루션을 아래의 답변으로 옮겼습니다.

도움이 되었습니까?

해결책 2

내 대답을 여기서 여기에 두었습니다.


내가 생각할 수있는 유일한 것은 중첩 된 유형을 System.enum을 확장하고 일정한 값으로 공개 | 정적 | 문자 필드를 정의하는 밀봉 클래스로 정의하는 것입니다. 이것은 본질적으로 C# 컴파일러가 분해하여 배운 내용을 기반으로하고있는 일입니다. 내가 이것을하고 참조하면 Assembly Intellisense는 그것을 열거로 인식하고 열거처럼 기능합니다.


이것이 바로 MSDN이 Jeremy가 연결 한 방법입니다.

다른 팁

끝의 예를 참조하십시오 이 기사, 당신이 원하는 것을 정확하게 수행합니다. (올바른 인수와 함께 defulenestedType를 사용합니다)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top