Mungled 유형에서 일반 인터페이스 구현 결정
클래스를 나타내는 맹글링 유형만 사용할 수 있는 시나리오에서 구현 여부 결정 일반적인 인터페이스는 어려울 수 있습니다. 다음 예를 고려하십시오.
public interface IFoo<T> : IBar<T> {} public class Foo<T> : IFoo<T> {}
질문이 생깁니다: Foo 유형이 일반 인터페이스 IBar
해결책:
이 쿼리를 해결하는 한 가지 접근 방식은 C#에서 사용할 수 있는 IsGenericType 및 GetGenericTypeDefinition 메서드를 활용하는 것입니다. 이러한 메서드를 사용하면 제네릭 유형을 검사하고 조작할 수 있습니다.
// Assuming 'foo' represents the mangled type of 'Foo<T>' bool isBar = foo.GetType().IsGenericType && foo.GetType().GetGenericTypeDefinition() == typeof(IBar<>);
이 코드는 맹글링된 유형이 제네릭인지 평가하고 해당 제네릭 유형 정의를 예상되는 인터페이스 유형 정의 typeof(IBar<>)와 비교합니다. 두 조건이 모두 충족되면 isBar 변수가 true로 설정되어 해당 유형의 일반 인터페이스 구현을 나타냅니다.
위 내용은 Mangled 유형이 C#에서 일반 인터페이스를 구현하는지 어떻게 확인할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!