Compartilhar via


Interoperando com tipos genéricos

O modelo COM não suporta o conceito de tipos genéricos.Conseqüentemente, tipos genéricos não podem ser usados para interoperabilidade COM diretamente.

Ações não suportados

As ações a seguir não são suportadas em falharão com um E_NOINTERFACE Erro:

  • Acessando interfaces genéricas de COM.

  • Acessando classe interfaces para classes não genérico que derivam de classes genéricas.

  • Gerando classe interfaces para classes genéricas.Por exemplo, _ MyGenericType interface não pode ser gerada para o MyGenericType<T> classe.

Ações com suporte

Você pode acessar uma classe genérica indiretamente usando uma interface de base não genérico.Por exemplo, considere o seguinte tipo:

[C#]

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

Clientes COM podem fazer chamadas para instâncias do tipo usando o IMyClass interface, mas as chamadas para qualquer um dos _MyClass, _MyClass <T> ou IEnumerable<T> falhará.

Consulte também

Referência

Generics (Guia de programação C#) 

Outros recursos

Interoperação com Código Não Gerenciado

genéricos (Visual C++)