Classe ComDefaultInterfaceAttribute
Dica
The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.
Especifica uma interface padrão para expor ao COM. Essa classe não pode ser herdada.
Namespace: System.Runtime.InteropServices
Assembly: mscorlib (em mscorlib.dll)
Hierarquia de Herança
System.Object
System.Attribute
System.Runtime.InteropServices.ComDefaultInterfaceAttribute
Sintaxe
[AttributeUsageAttribute(AttributeTargets.Class, Inherited = false)]
[ComVisibleAttribute(true)]
public sealed class ComDefaultInterfaceAttribute : Attribute
[AttributeUsageAttribute(AttributeTargets::Class, Inherited = false)]
[ComVisibleAttribute(true)]
public ref class ComDefaultInterfaceAttribute sealed : Attribute
[<Sealed>]
[<AttributeUsageAttribute(AttributeTargets.Class, Inherited = false)>]
[<ComVisibleAttribute(true)>]
type ComDefaultInterfaceAttribute =
class
inherit Attribute
end
<AttributeUsageAttribute(AttributeTargets.Class, Inherited := False)>
<ComVisibleAttribute(True)>
Public NotInheritable Class ComDefaultInterfaceAttribute
Inherits Attribute
Construtores
Nome | Descrição | |
---|---|---|
ComDefaultInterfaceAttribute(Type) | Inicializa uma nova instância da classe ComDefaultInterfaceAttribute com o objeto System.Type especificado como a interface padrão exposta ao COM. |
Propriedades
Nome | Descrição | |
---|---|---|
TypeId | Quando implementado em uma classe derivada, obtém um identificador exclusivo para este Attribute.(Herdado de Attribute.) |
|
Value | Obtém o objeto System.Type que especifica a interface padrão a ser exposta ao COM. |
Métodos
Nome | Descrição | |
---|---|---|
Equals(Object) | Esta API dá suporte à infraestrutura produto e não se destina a ser usada diretamente do seu código. Retorna um valor que indica se essa instância é igual a um objeto especificado.(Herdado de Attribute.) |
|
GetHashCode() | Retorna o código hash para essa instância.(Herdado de Attribute.) |
|
GetType() | ||
IsDefaultAttribute() | Quando substituído em uma classe derivada, indica se o valor dessa instância é o valor padrão para a classe derivada.(Herdado de Attribute.) |
|
Match(Object) | Quando substituído em uma classe derivada, retorna um valor que indica se essa instância é igual a um objeto especificado.(Herdado de Attribute.) |
|
ToString() | Retorna uma cadeia de caracteres que representa o objeto atual.(Herdado de Object.) |
Implementações Explícitas da Interface
Nome | Descrição | |
---|---|---|
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) | Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de expedição.(Herdado de Attribute.) |
|
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) | Recupera as informações de tipo para um objeto, que pode ser usado para obter as informações de tipo para uma interface.(Herdado de Attribute.) |
|
_Attribute.GetTypeInfoCount(UInt32) | Retorna o número de interfaces de informações do tipo que um objeto fornece (0 ou 1).(Herdado de Attribute.) |
|
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) | Fornece acesso a propriedades e métodos expostos por um objeto.(Herdado de Attribute.) |
Comentários
Compiladores não necessariamente respeitam a ordem na qual as interfaces são implementadas. Por exemplo, suponha que você tem o seguinte código:
interface IBase {}interface IDerived : IBase {}class MyClass : IBase, IDerived {}
O compilador emite as interfaces implementadas como IDerived, IBase. A ordem das interfaces é importante ao usar o ClassInterfaceAttribute classe com [ClassInterface(ClassInterfaceType.None)] para expor uma interface explícita como interface padrão. Independentemente de especificado ClassInterfaceType, use o ComDefaultInterfaceAttribute atributo para especificar qual interface deve ser reconhecido como padrão.
Observe que o tipo decorado pelo ComDefaultInterfaceAttribute realmente deve derivar de interface especificada como a interface padrão.
Informações de Versão
Plataforma Universal do Windows
Disponível desde 8
.NET Framework
Disponível desde 2.0
Biblioteca de Classes Portátil
Com suporte no: plataformas portáteis do .NET
Silverlight
Disponível desde 2.0
Windows Phone Silverlight
Disponível desde 7.0
Windows Phone
Disponível desde 8.1
Acesso thread-safe
Quaisquer membros estáticos públicos ( Compartilhado no Visual Basic) desse tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.
Confira Também
Namespace System.Runtime.InteropServices
Retornar ao início