IDispatchImplAttribute-Klasse
HINWEIS: Diese Klasse ist mittlerweile 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)
Syntax
'Declaration
<ComVisibleAttribute(True)> _
<AttributeUsageAttribute(AttributeTargets.Assembly Or AttributeTargets.Class, Inherited:=False)> _
<ObsoleteAttribute("This attribute is deprecated and will be removed in a future version.", False)> _
Public NotInheritable Class IDispatchImplAttribute
Inherits Attribute
'Usage
Dim instance As IDispatchImplAttribute
[ComVisibleAttribute(true)]
[AttributeUsageAttribute(AttributeTargets.Assembly|AttributeTargets.Class, Inherited=false)]
[ObsoleteAttribute("This attribute is deprecated and will be removed in a future version.", false)]
public sealed class IDispatchImplAttribute : Attribute
[ComVisibleAttribute(true)]
[AttributeUsageAttribute(AttributeTargets::Assembly|AttributeTargets::Class, Inherited=false)]
[ObsoleteAttribute(L"This attribute is deprecated and will be removed in a future version.", false)]
public ref class IDispatchImplAttribute sealed : public Attribute
/** @attribute ComVisibleAttribute(true) */
/** @attribute AttributeUsageAttribute(AttributeTargets.Assembly|AttributeTargets.Class, Inherited=false) */
/** @attribute ObsoleteAttribute("This attribute is deprecated and will be removed in a future version.", false) */
public final class IDispatchImplAttribute extends Attribute
ComVisibleAttribute(true)
AttributeUsageAttribute(AttributeTargets.Assembly|AttributeTargets.Class, Inherited=false)
ObsoleteAttribute("This attribute is deprecated and will be removed in a future version.", false)
public final class IDispatchImplAttribute extends Attribute
Hinweise
Dieses Attribut kann auf Klassen oder Assemblys angewendet werden.
Legen Sie dieses Attribut nur fest, wenn eine explizite Implementierung erforderlich ist. Wenn das Attribut auf CompatibleImpl festgelegt wird, erfolgt die Bereitstellung der IDispatch-Implementierung durch Übergabe der Typinformationen für das Objekt an die CreateStdDispatch-API von COM. Wenn das Attribut auf InternalImpl festgelegt wird, erfolgt die Bereitstellung der IDispatch-Implementierung durch die Common Language Runtime. Durch Festlegen des Attributs auf SystemDefinedImpl kann die Laufzeit die entsprechende Implementierung auswählen. Wenn das Attribut auf eine Assembly angewendet wird, gilt es für alle innerhalb der Assembly definierten Klassen. Wenn das Attribut auf eine einzelne Klasse angewendet wird, gilt es nur für die von dieser Klasse verfügbar gemachten Schnittstellen und überschreibt alle für die entsprechende Assembly angegebenen Einstellungen.
Beispiel
Im folgenden Beispiel wird die Anwendung von IDispatchImplAttribute veranschaulicht, um die von der Common Language Runtime bereitgestellte IDispatch-Implementierung auszuwählen.
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 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
{
//
}
}
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{};
import System.*;
import System.Runtime.InteropServices.*;
// by default all classes in this assembly will use COM implementaion
/** @assembly IDispatchImpl(IDispatchImplType.CompatibleImpl)
*/
// But this class will use runtime implementaion
/** @attribute IDispatchImpl(IDispatchImplType.InternalImpl)
*/
class MyClass
{
//
} //MyClass
Vererbungshierarchie
System.Object
System.Attribute
System.Runtime.InteropServices.IDispatchImplAttribute
Threadsicherheit
Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.
Plattformen
Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 1.0, 1.1
Veraltet (Compilerwarnung) in 2.0
Siehe auch
Referenz
IDispatchImplAttribute-Member
System.Runtime.InteropServices-Namespace
IDispatchImplType