Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Interfaces de COM não gerenciados podem ser objetos de enumerable que acessam as enumerações através de um Item método. No.NET Framework, esse método é especificado como .Item. A única maneira de acessar esse método corretamente é a marca do item como propget por meio de atributos IDL arquivo, mas isso alteraria a assinatura da função na biblioteca de tipos. Você pode usar esse personalizado atributo para marcar o método como propget após a importação. A sintaxe do personalizado atributo é o seguinte:
GUID = 2941ff83-88d8-4f73-b6a9-bdf8712d000d // for propget
Além disso, você pode usar outro personalizado atributo para marcar um método como propput após a importação. A sintaxe personalizado atributo é o seguinte:
GUID = 29533527-3683-4364-abc0-db1add822fa2 // for propput
Observe que esse personalizado atributo pode ser aplicado apenas nos métodos. Além disso, as seguintes regras se aplicam:
Você pode aplicar o atributo de somente um por vez; Se você aplicar vários atributos, todas, exceto a primeira é ignorado.
Para propget, o personalizado atributo ignora todas as assinaturas de método sem um valor de retorno.
Para propput, o personalizado atributo ignora todas as assinaturas de método sem parâmetros de entrada (parâmetros podem ser marcados com [in] ou [out], mas não with[out,retval]) e ele também ignora todas as assinaturas com um valor de retorno.
Para ambos propget e propput, o personalizado atributo ignora o GetEnumerator método se eles são usados em conjunto com um id(-4) ou dispid(-4) personalizado.
Ao importar a biblioteca de tipos usando Tlbimp. exe, use sempre a opção de /transform:dispret depois de aplicar o personalizado de atributo para despacho somente interfaces (dispinterfaces).
Exemplo
O exemplo a seguir, escrito na linguagem de definição de Interface (IDL) mostra o uso da propget atributo:
[custom(2941ff83-88d8-4f73-b6a9-bdf8712d000d, ""), id(6)]
HRESULT cget(int i, [out, retval] short *pVal);
O exemplo a seguir mostra o uso de propput atributo:
[custom(29533527-3683-4364-abc0-db1add822fa2, ""), id(7)]
HRESULT cset([in] int i);
Consulte também
Referência
Tlbimp. exe (importador da biblioteca)
Conceitos
Aplicar o atributo personalizado para implementar IEnumerable
Aplicar o atributo personalizado para substituir o identificador padrão despacho de COM (DISPID)