IDispatchImplAttribute Klasse

Definition

Warnung

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.Indicates which IDispatch implementation the common language runtime uses when exposing dual interfaces and dispinterfaces to COM.

public ref class IDispatchImplAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class, Inherited=false)]
[System.Obsolete("This attribute is deprecated and will be removed in a future version.", false)]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class IDispatchImplAttribute : Attribute
type IDispatchImplAttribute = class
    inherit Attribute
Public NotInheritable Class IDispatchImplAttribute
Inherits Attribute
Vererbung
IDispatchImplAttribute
Attribute

Beispiele

Im folgenden Beispiel wird veranschaulicht, wie IDispatchImplAttribute Sie anwenden, IDispatch um die vom Common Language Runtime bereitgestellte Implementierung auszuwählen.The following example demonstrates how to apply IDispatchImplAttribute to select the IDispatch implementation supplied by the common language runtime.

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{};
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.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

Hinweise

Sie können dieses Attribut auf Klassen oder Assemblys anwenden.You can apply this attribute to classes or assemblies.

Dieses Attribut sollte nur festgelegt werden, wenn eine explizite Implementierung erforderlich ist.This attribute should only be set when an explicit implementation is required. Wenn Sie das-Attribut auf CompatibleImplfestlegen, IDispatch wird die-Implementierung bereitgestellt, indem die Typinformationen für das Objekt CreateStdDispatch an die com-API übergeben werden.When you set the attribute to CompatibleImpl, the IDispatch implementation is supplied by passing the type information for the object to COM's CreateStdDispatch API. Wenn Sie das-Attribut auf InternalImplfestlegen, IDispatch wird die-Implementierung vom Common Language Runtime bereitgestellt.When you set the attribute to InternalImpl, the IDispatch implementation is supplied by the common language runtime. Durch Festlegen des- SystemDefinedImpl Attributs auf kann die Common Language Runtime die entsprechende-Implementierung auswählen.Setting the attribute to SystemDefinedImpl allows the runtime to choose the appropriate implementation. Wenn Sie das-Attribut für eine Assembly verwenden, gilt das-Attribut für alle Klassen, die in der Assembly definiert sind.When using the attribute on an assembly, the attribute applies to all classes defined within the assembly. Bei Verwendung des-Attributs für eine einzelne Klasse gilt das-Attribut nur für die Schnittstellen, die von dieser Klasse verfügbar gemacht werden, und überschreibt jede Einstellung auf Assemblyebene.When using the attribute on an individual class, the attribute applies only to the interfaces exposed by that class and overrides any assembly-level setting.

Konstruktoren

IDispatchImplAttribute(IDispatchImplType)

Initialisiert eine neue Instanz der IDispatchImplAttribute-Klasse mit dem angegebenen IDispatchImplType-Wert.Initializes a new instance of the IDispatchImplAttribute class with specified IDispatchImplType value.

IDispatchImplAttribute(Int16)

Initialisiert eine neue Instanz der IDispatchImplAttribute-Klasse mit dem angegebenen IDispatchImplType-Wert.Initializes a new instance of the IDispatchImplAttribute class with specified IDispatchImplType value.

Eigenschaften

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.

(Geerbt von Attribute)
Value

Ruft den von der Klasse verwendeten IDispatchImplType-Wert ab.Gets the IDispatchImplType value used by the class.

Methoden

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.

(Geerbt von Attribute)
GetHashCode()

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

(Geerbt von Attribute)
GetType()

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

(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.When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(Geerbt von Attribute)
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.

(Geerbt von Attribute)
MemberwiseClone()

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

(Geerbt von Object)
ToString()

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

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

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

(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.Retrieves the type information for an object, which can be used to get the type information for an interface.

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

(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.Provides access to properties and methods exposed by an object.

(Geerbt von Attribute)

Gilt für:

Siehe auch