제네릭 형식을 통한 상호 운용
COM 모델에서는 제네릭 형식의 개념을 지원하지 않습니다. 따라서 제네릭 형식을 COM interop에 직접 사용할 수는 없습니다.
지원되지 않는 작업
다음 작업은 지원되지 않으며, E_NOINTERFACE 오류와 함께 실패합니다.
COM에서 제네릭 인터페이스 액세스
제네릭 클래스에서 파생되는 비제네릭 클래스의 클래스 인터페이스 액세스
제네릭 클래스의 클래스 인터페이스 생성. 예를 들어, MyGenericType<T> 클래스에 대해 _MyGenericType 인터페이스를 생성할 수 없습니다.
지원되는 작업
비제네릭 기본 인터페이스를 사용하여 제네릭 클래스에 간접적으로 액세스할 수 있습니다. 다음 형식을 예로 들 수 있습니다.
[C#]
class MyClass <T> : IMyClass, IEnumerable<int>
{
…
}
COM 클라이언트가 IMyClass 인터페이스를 사용하여 이 형식의 인스턴스를 호출할 수 있지만, _MyClass, _MyClass <T> 또는 IEnumerable<T>에 대한 호출은 실패합니다.