IDispatchImplAttribute Classe

Definizione

Avviso

Questa API è ora obsoleta.

Indica quale implementazione di IDispatch viene utilizzata da Common Language Runtime quando espone le interfacce duali e dispatch a COM.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
Ereditarietà
IDispatchImplAttribute
Attributi

Esempi

Nell'esempio seguente viene illustrato come applicare IDispatchImplAttribute per selezionare l' IDispatch implementazione fornita dalla Common Language Runtime.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

Commenti

È possibile applicare questo attributo a classi o assembly.You can apply this attribute to classes or assemblies.

Questo attributo deve essere impostato solo quando è necessaria un'implementazione esplicita.This attribute should only be set when an explicit implementation is required. Quando si imposta l'attributo su CompatibleImpl, l' IDispatch implementazione viene fornita passando le informazioni sul tipo per CreateStdDispatch l'oggetto all'API com.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. Quando si imposta l'attributo su InternalImpl, l' IDispatch implementazione viene fornita dal Common Language Runtime.When you set the attribute to InternalImpl, the IDispatch implementation is supplied by the common language runtime. L'impostazione dell'attributo SystemDefinedImpl su consente al runtime di scegliere l'implementazione appropriata.Setting the attribute to SystemDefinedImpl allows the runtime to choose the appropriate implementation. Quando si usa l'attributo in un assembly, l'attributo si applica a tutte le classi definite all'interno dell'assembly.When using the attribute on an assembly, the attribute applies to all classes defined within the assembly. Quando si usa l'attributo in una singola classe, l'attributo si applica solo alle interfacce esposte da tale classe ed esegue l'override di qualsiasi impostazione a livello di assembly.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.

Costruttori

IDispatchImplAttribute(IDispatchImplType)

Inizializza una nuova istanza della classe IDispatchImplAttribute con il valore di IDispatchImplType specificato.Initializes a new instance of the IDispatchImplAttribute class with specified IDispatchImplType value.

IDispatchImplAttribute(Int16)

Inizializza una nuova istanza della classe IDispatchImplAttribute con il valore di IDispatchImplType specificato.Initializes a new instance of the IDispatchImplAttribute class with specified IDispatchImplType value.

Proprietà

TypeId

Quando è implementata in una classe derivata, ottiene un identificatore univoco della classe Attribute.When implemented in a derived class, gets a unique identifier for this Attribute.

(Ereditato da Attribute)
Value

Ottiene il valore di IDispatchImplType utilizzato dalla classe.Gets the IDispatchImplType value used by the class.

Metodi

Equals(Object)

Restituisce un valore che indica se questa istanza è uguale a un oggetto specificato.Returns a value that indicates whether this instance is equal to a specified object.

(Ereditato da Attribute)
GetHashCode()

Restituisce il codice hash per l'istanza.Returns the hash code for this instance.

(Ereditato da Attribute)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Ereditato da Object)
IsDefaultAttribute()

In caso di override in una classe derivata, indica se il valore di questa istanza è il valore predefinito per la classe derivata.When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(Ereditato da Attribute)
Match(Object)

Quando è sottoposto a override in una classe derivata, restituisce un valore che indica se questa istanza equivale a un oggetto specificato.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Ereditato da Attribute)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Esegue il mapping di un set di nomi a un set corrispondente di ID dispatch.Maps a set of names to a corresponding set of dispatch identifiers.

(Ereditato da Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera le informazioni sul tipo relative a un oggetto, che possono essere usate per ottenere informazioni sul tipo relative a un'interfaccia.Retrieves the type information for an object, which can be used to get the type information for an interface.

(Ereditato da Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Recupera il numero delle interfacce di informazioni sul tipo fornite da un oggetto (0 o 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Ereditato da Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fornisce l'accesso a proprietà e metodi esposti da un oggetto.Provides access to properties and methods exposed by an object.

(Ereditato da Attribute)

Si applica a

Vedi anche