ComRegisterFunctionAttribute Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Specifica il metodo da chiamare quando si registra un assembly da utilizzare da COM; ciò consente l'esecuzione di codice scritto dall'utente durante il processo di registrazione.
public ref class ComRegisterFunctionAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Method, Inherited=false)]
public sealed class ComRegisterFunctionAttribute : Attribute
[System.AttributeUsage(System.AttributeTargets.Method, Inherited=false)]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class ComRegisterFunctionAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Method, Inherited=false)>]
type ComRegisterFunctionAttribute = class
inherit Attribute
[<System.AttributeUsage(System.AttributeTargets.Method, Inherited=false)>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type ComRegisterFunctionAttribute = class
inherit Attribute
Public NotInheritable Class ComRegisterFunctionAttribute
Inherits Attribute
- Ereditarietà
- Attributi
Esempio
Nell'esempio seguente viene illustrato come applicare ComRegisterFunctionAttribute e ComUnregisterFunctionAttribute ai metodi con la firma appropriata.
using namespace System;
using namespace System::Runtime::InteropServices;
public ref class MyClassThatNeedsToRegister
{
public:
[ComRegisterFunctionAttribute]
static void RegisterFunction( Type^ t )
{
//Insert code here.
}
[ComUnregisterFunctionAttribute]
static void UnregisterFunction( Type^ t )
{
//Insert code here.
}
};
using System;
using System.Runtime.InteropServices;
public class MyClassThatNeedsToRegister
{
[ComRegisterFunctionAttribute]
public static void RegisterFunction(Type t)
{
//Insert code here.
}
[ComUnregisterFunctionAttribute]
public static void UnregisterFunction(Type t)
{
//Insert code here.
}
}
Imports System.Runtime.InteropServices
Public Class MyClassThatNeedsToRegister
<ComRegisterFunctionAttribute()> Public Shared Sub _
RegisterFunction(t As Type)
'Insert code here.
End Sub
<ComUnregisterFunctionAttribute()> Public Shared Sub _
UnregisterFunction(t As Type)
'Insert code here.
End Sub
End Class
Commenti
È possibile applicare questo attributo ai metodi.
ComRegisterFunctionAttribute consente di aggiungere codice di registrazione arbitrario per soddisfare i requisiti dei client COM. Ad esempio, è possibile aggiornare il Registro di sistema usando le funzioni di registrazione dallo spazio dei nomi Microsoft.Win32. Se si specifica un metodo di registrazione, è necessario applicare System.Runtime.InteropServices.ComUnregisterFunctionAttribute anche a un metodo di annullamento della registrazione, che inverte le operazioni eseguite nel metodo di registrazione.
.NET Framework: Common Language Runtime chiama il metodo con questo attributo quando l'assembly contenitore viene registrato (direttamente o indirettamente) con lo strumento Regasm.exe (Registrazione assembly) o tramite il metodo RegistrationServices.RegisterAssembly.
.NET Core: Common Language Runtime chiama il metodo con questo attributo quando l'host COM dell'assembly contenitore viene registrato tramite lo strumento RegSvr32.exe.
Questo attributo può essere applicato solo ai metodi con le caratteristiche seguenti:
Ambito: qualsiasi (pubblico, privato e così via).
Tipo:
static.Parametri: accetta un singolo Type parametro o un String tipo di parametro.
Tipo restituito:
void.
Costruttori
| Nome | Descrizione |
|---|---|
| ComRegisterFunctionAttribute() |
Inizializza una nuova istanza della classe ComRegisterFunctionAttribute. |
Proprietà
| Nome | Descrizione |
|---|---|
| TypeId |
Se implementato in una classe derivata, ottiene un identificatore univoco per questo Attribute. (Ereditato da Attribute) |
Metodi
| Nome | Descrizione |
|---|---|
| Equals(Object) |
Restituisce un valore che indica se questa istanza è uguale a un oggetto specificato. (Ereditato da Attribute) |
| GetHashCode() |
Restituisce il codice hash per questa istanza. (Ereditato da Attribute) |
| GetType() |
Ottiene il Type dell'istanza corrente. (Ereditato da Object) |
| IsDefaultAttribute() |
Quando sottoposto a override in una classe derivata, indica se il valore di questa istanza è il valore predefinito per la classe derivata. (Ereditato da Attribute) |
| Match(Object) |
Quando sottoposto a override in una classe derivata, restituisce un valore che indica se questa istanza è uguale a un oggetto specificato. (Ereditato da Attribute) |
| MemberwiseClone() |
Crea una copia superficiale del Objectcorrente. (Ereditato da Object) |
| ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
Implementazioni dell'interfaccia esplicita
| Nome | Descrizione |
|---|---|
| _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Esegue il mapping di un set di nomi a un set corrispondente di identificatori dispatch. (Ereditato da Attribute) |
| _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Recupera le informazioni sul tipo per un oggetto, che può essere utilizzato per ottenere le informazioni sul tipo per un'interfaccia. (Ereditato da Attribute) |
| _Attribute.GetTypeInfoCount(UInt32) |
Recupera il numero di interfacce di informazioni sul tipo fornite da un oggetto (0 o 1). (Ereditato da Attribute) |
| _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Fornisce l'accesso alle proprietà e ai metodi esposti da un oggetto . (Ereditato da Attribute) |