Freigeben über


InterfaceTypeAttribute-Klasse

 

Veröffentlicht: Oktober 2016

Gibt an, ob eine verwaltete Schnittstelle duale, auf Dispatch beschränkte oder IUnknown -nur, wenn für COM verfügbar gemacht.

Namespace:   System.Runtime.InteropServices
Assembly:  mscorlib (in mscorlib.dll)

Vererbungshierarchie

System.Object
  System.Attribute
    System.Runtime.InteropServices.InterfaceTypeAttribute

Syntax

[AttributeUsageAttribute(AttributeTargets.Interface, Inherited = false)]
[ComVisibleAttribute(true)]
public sealed class InterfaceTypeAttribute : Attribute
[AttributeUsageAttribute(AttributeTargets::Interface, Inherited = false)]
[ComVisibleAttribute(true)]
public ref class InterfaceTypeAttribute sealed : Attribute
[<Sealed>]
[<AttributeUsageAttribute(AttributeTargets.Interface, Inherited = false)>]
[<ComVisibleAttribute(true)>]
type InterfaceTypeAttribute = 
    class
        inherit Attribute
    end
<AttributeUsageAttribute(AttributeTargets.Interface, Inherited := False)>
<ComVisibleAttribute(True)>
Public NotInheritable Class InterfaceTypeAttribute
    Inherits Attribute

Konstruktoren

Name Beschreibung
System_CAPS_pubmethod InterfaceTypeAttribute(ComInterfaceType)

Initialisiert eine neue Instanz der InterfaceTypeAttribute -Klasse mit dem angegebenen ComInterfaceType Enumerationsmember.

System_CAPS_pubmethod InterfaceTypeAttribute(Int16)

Initialisiert eine neue Instanz der InterfaceTypeAttribute -Klasse mit dem angegebenen ComInterfaceType Enumerationsmember.

Eigenschaften

Name Beschreibung
System_CAPS_pubproperty TypeId

Ruft bei Implementierung in einer abgeleiteten Klasse einen eindeutigen Bezeichner für dieses Attribute ab.(Geerbt von „Attribute“.)

System_CAPS_pubproperty Value

Ruft den ComInterfaceType -Wert, der beschreibt, wie die Schnittstelle für COM verfügbar gemacht werden soll

Methoden

Name Beschreibung
System_CAPS_pubmethod Equals(Object)

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist.(Geerbt von „Attribute“.)

System_CAPS_pubmethod GetHashCode()

Gibt den Hashcode für diese Instanz zurück.(Geerbt von „Attribute“.)

System_CAPS_pubmethod GetType()

Ruft den Type der aktuellen Instanz ab.(Geerbt von „Object“.)

System_CAPS_pubmethod IsDefaultAttribute()

Gibt beim Überschreiben in einer abgeleiteten Klasse an, ob der Wert der Instanz der Standardwert für die abgeleitete Klasse ist.(Geerbt von „Attribute“.)

System_CAPS_pubmethod Match(Object)

Ruft beim Überschreiben in einer abgeleiteten Klasse gibt einen Wert, der angibt, ob diese Instanz gleich ein angegebenen Objekt ist.(Geerbt von „Attribute“.)

System_CAPS_pubmethod ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.(Geerbt von „Object“.)

Explizite Schnittstellenimplementierungen

Name Beschreibung
System_CAPS_pubinterfaceSystem_CAPS_privmethod _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.(Geerbt von „Attribute“.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod _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.(Geerbt von „Attribute“.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod _Attribute.GetTypeInfoCount(UInt32)

Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1).(Geerbt von „Attribute“.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Stellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit.(Geerbt von „Attribute“.)

Hinweise

Sie können dieses Attribut auf Schnittstellen anwenden.

In der Standardeinstellung die Tlbexp.exe (Type Library Exporter) 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. Die ComInterfaceType -Enumeration können Sie das Standardverhalten überschreiben und spätes Binden oder ausschließlich frühes Binden. Sie können z. B. anwenden InterfaceType (ComInterfaceType.InterfaceIsIDispatch) auf eine Schnittstelle zum Erzeugen von Metadaten, um die Aufrufer auf spätes Binden beschränken. Obwohl Schnittstellen, die von abgeleitet sind die IDispatch Schnittstelle häufig dual sind, die InterfaceIsIDispatch Enumerationsmember nur spät gebundene Aufrufe der Schnittstellenmethoden ermöglicht. Dieses Attribut hat keine Auswirkung auf die verwaltete Ansicht der Schnittstelle. Weitere Informationen dazu, wie die Schnittstellen für COM verfügbar gemacht werden, finden Sie unter Konvertierung exportierte.

Die Tlbimp.exe (Type Library Importer) gilt dieses Attribut auch importiert, Nondual Schnittstellen; es gilt die entsprechende Enumerationsmember, um anzugeben, dass die Schnittstelle nur-Dispatch- oder IUnknown -nur.

Beispiele

Das folgende Beispiel zeigt wie InterfaceTypeAttribute steuert, wie die Schnittstelle für COM verfügbar gemacht wird

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
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.

Versionsinformationen

Universelle Windows-Plattform
Verfügbar seit 8
.NET Framework
Verfügbar seit 1.1
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.0
Windows Phone
Verfügbar seit 8.1

Threadsicherheit

Alle öffentlichen statischen Member ( Shared in Visual Basic) dieses Typs sind threadsicher. Die Threadsicherheit für Instanzmember ist nicht garantiert.

Siehe auch

ComInterfaceType
System.Runtime.InteropServices-Namespace
Tlbexp.exe (Type Library Exporter)
Tlbimp.exe (Type Library Importer)

Zurück zum Anfang