InterfaceTypeAttribute InterfaceTypeAttribute InterfaceTypeAttribute InterfaceTypeAttribute Class

Definition

Gibt an, ob es sich bei einer verwalteten Schnittstelle um eine duale, auf Dispatch beschränkte oder auf IUnknown beschränkte Schnittstelle handelt, wenn diese für COM verfügbar gemacht wird.Indicates whether a managed interface is dual, dispatch-only, or IUnknown -only when exposed to COM.

public ref class InterfaceTypeAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Interface, Inherited=false)]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class InterfaceTypeAttribute : Attribute
type InterfaceTypeAttribute = class
    inherit Attribute
Public NotInheritable Class InterfaceTypeAttribute
Inherits Attribute
Vererbung
InterfaceTypeAttributeInterfaceTypeAttributeInterfaceTypeAttributeInterfaceTypeAttribute
Attribute

Beispiele

Das folgende Beispiel zeigt wie InterfaceTypeAttribute steuert, wie die Schnittstelle für COM verfügbar gemacht wirdThe following example shows how InterfaceTypeAttribute controls how the interface is exposed to COM.

using namespace System::Runtime::InteropServices;

//Interface is exposed to COM as dual.
interface class IMyInterface1{};

//Insert code here.
//Interface is exposed to COM as IDispatch.

[InterfaceTypeAttribute(ComInterfaceType::InterfaceIsIDispatch)]
interface class IMyInterface2{};
//Insert code here.
using System.Runtime.InteropServices;

//Interface is exposed to COM as dual.
interface IMyInterface1 
{
    //Insert code here.
}

//Interface is exposed to COM as IDispatch.
[InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIDispatch)]
interface IMyInterface2 
{
    //Insert code here.
}
Imports System.Runtime.InteropServices

'Interface is exposed to COM as dual.
Interface IMyInterface1
     'Insert code here.
End Interface

'Interface is exposed to COM as IDispatch.
<InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIDispatch)> _
Interface IMyInterface2
    'Insert code here.
End Interface

Hinweise

Sie können dieses Attribut auf Schnittstellen anwenden.You can apply this attribute to interfaces.

In der Standardeinstellung die Tlbexp.exe (Type Library Exporter-Tool) stellt eine verwaltete Schnittstelle für COM als duale Schnittstelle bietet Ihnen die Flexibilität einer späten Bindung oder die Leistung der frühen Bindung.By default, the Tlbexp.exe (Type Library Exporter) exposes a managed interface to COM as a dual interface, giving you the flexibility of late binding or the performance of early binding. Die ComInterfaceType -Enumeration können Sie das Standardverhalten außer Kraft setzen, und geben Sie nur späte Bindung oder nur die frühe Bindung.The ComInterfaceType enumeration enables you to override the default behavior and specify late binding only or early binding only. Sie können z. B. anwenden InterfaceType (ComInterfaceType.InterfaceIsIDispatch) auf eine Schnittstelle, um Metadaten zu den Aufrufer zu beschränken, auf die späte Bindung nur erzeugen.For example, you can apply InterfaceType (ComInterfaceType.InterfaceIsIDispatch) to an interface to produce metadata to restrict callers to late binding only. Obwohl Schnittstellen, die abgeleitet der IDispatch Schnittstelle sind oft zwei, die InterfaceIsIDispatch -Enumerationsmember kann nur spät gebundene Aufrufe der Schnittstellenmethoden.Although interfaces that derive from the IDispatch interface are often dual, the InterfaceIsIDispatch enumeration member allows only late-bound calls to the interface methods. Dieses Attribut hat keine Auswirkungen auf die verwaltete Ansicht der Schnittstelle.This attribute has no effect on the managed view of the interface. Weitere Informationen dazu, wie Schnittstellen, die für COM verfügbar gemacht werden, finden Sie unter Typkonvertierung exportiert.For additional information on how interfaces are exposed to COM, see Exported Type Conversion.

Die Tlbimp.exe (Type Library Importer-Tool) gilt auch für dieses Attribut in Nondual importiert, Schnittstellen werden; dies gilt, dass die geeignete Enumeration-Element, um anzugeben, dass die Schnittstelle auf Dispatch beschränkte ist oder IUnknown -nur.The Tlbimp.exe (Type Library Importer) also applies this attribute to imported, nondual interfaces; it applies the appropriate enumeration member to indicate that the interface is dispatch-only or IUnknown -only.

Konstruktoren

InterfaceTypeAttribute(ComInterfaceType) InterfaceTypeAttribute(ComInterfaceType) InterfaceTypeAttribute(ComInterfaceType) InterfaceTypeAttribute(ComInterfaceType)

Initialisiert eine neue Instanz der InterfaceTypeAttribute-Klasse mit dem angegebenen ComInterfaceType-Enumerationsmember.Initializes a new instance of the InterfaceTypeAttribute class with the specified ComInterfaceType enumeration member.

InterfaceTypeAttribute(Int16) InterfaceTypeAttribute(Int16) InterfaceTypeAttribute(Int16) InterfaceTypeAttribute(Int16)

Initialisiert eine neue Instanz der InterfaceTypeAttribute-Klasse mit dem angegebenen ComInterfaceType-Enumerationsmember.Initializes a new instance of the InterfaceTypeAttribute class with the specified ComInterfaceType enumeration member.

Eigenschaften

TypeId TypeId TypeId TypeId

Ruft bei Implementierung in einer abgeleiteten Klasse einen eindeutigen Bezeichner für dieses Attribute ab.When implemented in a derived class, gets a unique identifier for this Attribute.

(Inherited from Attribute)
Value Value Value Value

Ruft den ComInterfaceType-Wert ab, der beschreibt, wie die Schnittstelle für COM verfügbar gemacht werden soll.Gets the ComInterfaceType value that describes how the interface should be exposed to COM.

Methoden

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist.Returns a value that indicates whether this instance is equal to a specified object.

(Inherited from Attribute)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Gibt den Hashcode für diese Instanz zurück.Returns the hash code for this instance.

(Inherited from Attribute)
GetType() GetType() GetType() GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Inherited from Object)
IsDefaultAttribute() IsDefaultAttribute() IsDefaultAttribute() IsDefaultAttribute()

Gibt beim Überschreiben in einer abgeleiteten Klasse an, ob der Wert der Instanz der Standardwert für die abgeleitete Klasse ist.When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(Inherited from Attribute)
Match(Object) Match(Object) Match(Object) Match(Object)

Beim Überschreiben in einer abgeleiteten Klasse wird ein Wert zurückgegeben, der angibt, ob diese Instanz einem bestimmten Objekt entspricht.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Inherited from Attribute)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Inherited from Object)

Explizite Schnittstellenimplementierungen

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.Maps a set of names to a corresponding set of dispatch identifiers.

(Inherited from Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Ruft die Typinformationen für ein Objekt ab, mit deren Hilfe die Typinformationen für eine Schnittstelle abgerufen werden können.Retrieves the type information for an object, which can be used to get the type information for an interface.

(Inherited from Attribute)
_Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32)

Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Inherited from Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Stellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit.Provides access to properties and methods exposed by an object.

(Inherited from Attribute)

Gilt für:

Siehe auch