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 | |
---|---|---|
InterfaceTypeAttribute(ComInterfaceType) | Initialisiert eine neue Instanz der InterfaceTypeAttribute -Klasse mit dem angegebenen ComInterfaceType Enumerationsmember. |
|
InterfaceTypeAttribute(Int16) | Initialisiert eine neue Instanz der InterfaceTypeAttribute -Klasse mit dem angegebenen ComInterfaceType Enumerationsmember. |
Eigenschaften
Name | Beschreibung | |
---|---|---|
TypeId | Ruft bei Implementierung in einer abgeleiteten Klasse einen eindeutigen Bezeichner für dieses Attribute ab.(Geerbt von „Attribute“.) |
|
Value | Ruft den ComInterfaceType -Wert, der beschreibt, wie die Schnittstelle für COM verfügbar gemacht werden soll |
Methoden
Name | Beschreibung | |
---|---|---|
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“.) |
|
GetHashCode() | Gibt den Hashcode für diese Instanz zurück.(Geerbt von „Attribute“.) |
|
GetType() | Ruft den Type der aktuellen Instanz ab.(Geerbt von „Object“.) |
|
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“.) |
|
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“.) |
|
ToString() | Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.(Geerbt von „Object“.) |
Explizite Schnittstellenimplementierungen
Name | Beschreibung | |
---|---|---|
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) | Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.(Geerbt von „Attribute“.) |
|
_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“.) |
|
_Attribute.GetTypeInfoCount(UInt32) | Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1).(Geerbt von „Attribute“.) |
|
_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