정적 생성자 내에서 GetType에 해당하는 것을 얻을 수있는 방법이 있습니까?정적 생성자에서 TypeInfo 가져 오기
정적 생성자 내에서 사용할 수있는 속성을 반복하고 싶지만 GetType은 인스턴스 메서드입니까? 왜 이런거야? typeinfo는 정적 컨텍스트에 있어야합니다. 이 문제를 해결할 방법이 있습니까? 당신은 항상 실제 유형을 알고 있기 때문에
정적 생성자 내에서 GetType에 해당하는 것을 얻을 수있는 방법이 있습니까?정적 생성자에서 TypeInfo 가져 오기
정적 생성자 내에서 사용할 수있는 속성을 반복하고 싶지만 GetType은 인스턴스 메서드입니까? 왜 이런거야? typeinfo는 정적 컨텍스트에 있어야합니다. 이 문제를 해결할 방법이 있습니까? 당신은 항상 실제 유형을 알고 있기 때문에
그냥
Type type = typeof(TheCurrentType);
그것은 이것보다 더 복잡 않을 것입니다 사용; 정적 메서드를 처리 할 다형성이 없습니다.
파생 형식을 얻을 수 있다고 생각하지 않습니다 (현재 형식에서 파생되는 것을보기 위해 모든 형식을 반복하는 것을 제외하고). 현재 유형을 얻으려면 다음을 수행 할 수 있습니다.
Type currentType = (new StackFrame()).GetMethod().DeclaringType;
그러나 런타임 유형을 알아야합니다. 이 클래스를 상속 한 모든 런타임 유형 (런타임에)을 등록하고 싶습니다. 모든 속성과 속성을 통해 사용자 정의 엔진에 등록해야합니다. 앱 수명 동안 유형마다 한 번 수행해야합니다. 각 서브 클래스에 대해 런타임 유형을 해결할 수있는 방법이 있습니까? – Shimmy
@Shimmy 정적 메서드에는 다형성이 없습니다. 정적 메서드는 파생 된 형식과 상관없이 선언 된 형식에 속합니다. –
하위 클래스에서 호출 할 기본 유형에 간단한 보호 정적 메소드 RegisterMetadata (유형 유형)를 작성하기로 결정했습니다. 것은 모든 하위 클래스의 정적 ctor에서이 메서드를 호출 할 수있는 방법이 없다는 것입니다. 감사. – Shimmy