유형 MyType이 있다고 가정 해 봅시다. 나는 다음을 수행 할 :에 대한 답변 (1) 예, T가 무엇인지 찾을 경우합니다 MyType 일부 T. 유형이 일반 인터페이스를 구현하는지 알아 내기
- 가 알아보십시오.
이렇게하는 방법은 GetInterface()이지만 특정 이름으로 만 검색 할 수 있습니다. "양식은 IList의 모든 인터페이스"를 검색 할 수있는 방법이 있나요
관련 (인터페이스가 IList의의 서브 인터페이스 인 경우는 일 경우는 유용 할 woudl 가능한 경우.) : How to determine if a type implements a specific generic interface type
배열의 대소 문자도 처리합니다. 명시 적으로 배열을 테스트하려면 "if (myType.IsArray) return myType.GetElementType();"을 사용하십시오. (그리고 이것이 더 빠를 수도 있지만 성능에있어서 중요한 것은 아무도 없길 바랍니다.) – yoyo
.IsInterface가 필요한 이유에 대해 궁금한 저와 같은 분을 위해 : GetGenericTypeDefinition()은 제네릭이 아닌 유형에서 호출 된 경우 throw됩니다. – GameFreak
Type.IsGenericType 속성은 netstandard 1.6 이하에서는 사용할 수 없으므로 .NET Core 1.0에서는 사용할 수 없지만 type.GetTypeInfo(). IsGenericType 대신 TypeInfo.IsGenericType을 사용할 수 있습니다. – dotarj