다음을 통해 공유


제네릭 형식을 통한 상호 운용

업데이트: 2007년 11월

COM 모델에서는 제네릭 형식의 개념을 지원하지 않습니다. 따라서 제네릭 형식을 COM interop에 직접 사용할 수는 없습니다.

지원되지 않는 작업

다음 작업은 지원되지 않으며, E_NOINTERFACE 오류와 함께 실패합니다.

  • COM에서 제네릭 인터페이스 액세스

  • 제네릭 클래스에서 파생되는 비제네릭 클래스의 클래스 인터페이스 액세스

  • 제네릭 클래스의 클래스 인터페이스 생성. 예를 들어, MyGenericType<T> 클래스에 대해 _MyGenericType 인터페이스를 생성할 수 없습니다.

지원되는 작업

비제네릭 기본 인터페이스를 사용하여 제네릭 클래스에 간접적으로 액세스할 수 있습니다. 다음 형식을 예로 들 수 있습니다.

[C#]

class MyClass <T> : IMyClass, IEnumerable<int>
{
   …
}

COM 클라이언트가 IMyClass 인터페이스를 사용하여 이 형식의 인스턴스를 호출할 수 있지만, _MyClass, _MyClass <T> 또는 IEnumerable<T>에 대한 호출은 실패합니다.

참고 항목

참조

제네릭(C# 프로그래밍 가이드)

기타 리소스

비관리 코드와의 상호 운용

Generics (C++)