Freigeben über


IDispatchImplAttribute-Klasse

 

Veröffentlicht: Oktober 2016

Hinweis: Diese API ist jetzt veraltet.

Gibt an, welche IDispatch -Implementierung die common Language Runtime verwendet, um duale Schnittstellen oder Dispatchschnittstellen für COM verfügbar zu machen

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

Vererbungshierarchie

System.Object
  System.Attribute
    System.Runtime.InteropServices.IDispatchImplAttribute

Syntax

[AttributeUsageAttribute(AttributeTargets.Assembly | AttributeTargets.Class, 
    Inherited = false)]
[ObsoleteAttribute("This attribute is deprecated and will be removed in a future version.", 
    false)]
[ComVisibleAttribute(true)]
public sealed class IDispatchImplAttribute : Attribute
[AttributeUsageAttribute(AttributeTargets::Assembly | AttributeTargets::Class, 
    Inherited = false)]
[ObsoleteAttribute("This attribute is deprecated and will be removed in a future version.", 
    false)]
[ComVisibleAttribute(true)]
public ref class IDispatchImplAttribute sealed : Attribute
[<Sealed>]
[<AttributeUsageAttribute(AttributeTargets.Assembly | AttributeTargets.Class,
    Inherited = false)>]
[<ObsoleteAttribute("This attribute is deprecated and will be removed in a future version.",
    false)>]
[<ComVisibleAttribute(true)>]
type IDispatchImplAttribute = 
    class
        inherit Attribute
    end
<AttributeUsageAttribute(AttributeTargets.Assembly Or AttributeTargets.Class,
    Inherited := False)>
<ObsoleteAttribute("This attribute is deprecated and will be removed in a future version.",
    False)>
<ComVisibleAttribute(True)>
Public NotInheritable Class IDispatchImplAttribute
    Inherits Attribute

Konstruktoren

Name Beschreibung
System_CAPS_pubmethod IDispatchImplAttribute(IDispatchImplType)

Initialisiert eine neue Instanz der IDispatchImplAttribute -Klasse mit angegebenen IDispatchImplType Wert.

System_CAPS_pubmethod IDispatchImplAttribute(Int16)

Initialisiert eine neue Instanz der IDispatchImplAttribute -Klasse mit angegebenen IDispatchImplType Wert.

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 die IDispatchImplType Wert, der von der Klasse verwendet.

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

Dieses Attribut kann auf Klassen oder Assemblys angewendet werden.

Dieses Attribut sollte nur festgelegt werden, wenn eine explizite Implementierung erforderlich ist. Wenn Sie das Attribut festlegen, um CompatibleImpl, die IDispatch Implementierung wird vom Übergabe der Typinformationen für das Objekt an COM CreateStdDispatch API. Wenn Sie das Attribut festlegen, um InternalImpl, die IDispatch Implementierung von der common Language Runtime bereitgestellt wird. Festlegen des Attributs auf SystemDefinedImpl kann die Laufzeit die entsprechende Implementierung auswählen. Wenn das Attribut auf eine Assembly verwenden, können Sie das Attribut auf alle Klassen in der Assembly definierten angewendet. Wenn das Attribut auf eine einzelne Klasse verwenden, wird das Attribut gilt nur für die von dieser Klasse verfügbar gemachten Schnittstellen und überschreibt alle Einstellungen auf Assemblyebene.

Beispiele

Im folgenden Beispiel wird veranschaulicht, wie gelten IDispatchImplAttribute auswählen die IDispatch Implementierung durch die common Language Runtime.

using System;
using System.Runtime.InteropServices;
// by default all classes in this assembly will use COM implementaion 
[assembly:IDispatchImpl(IDispatchImplType.CompatibleImpl)]

namespace MyNamespace
{
    // But this class will use runtime implementaion
    [IDispatchImpl(IDispatchImplType.InternalImpl)]
    class MyClass
    {
        //
    }
}
Imports System
Imports System.Runtime.InteropServices
' by default all classes in this assembly will use COM implementaion 
<Assembly: IDispatchImpl(IDispatchImplType.CompatibleImpl)> 

Module MyNamespace
    ' But this class will use runtime implementaion
    <IDispatchImpl(IDispatchImplType.InternalImpl)> _
    Public Class c
        '
    End Class

End Module
using namespace System;
using namespace System::Runtime::InteropServices;

// by default all classes in this assembly will use COM implementaion
//   // But this class will use runtime implementaion

[assembly:IDispatchImpl(IDispatchImplType::CompatibleImpl)];
[IDispatchImpl(IDispatchImplType::InternalImpl)]
ref class MyClass{};

Versionsinformationen

.NET Framework
Verfügbar seit 1.1

Threadsicherheit

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

Siehe auch

IDispatchImplType
System.Runtime.InteropServices-Namespace

Zurück zum Anfang