ComRegisterFunctionAttribute Classe

Definição

Especifica o método a chamar quando registas um assembly para uso a partir do COM; Isto permite a execução de código escrito pelo utilizador durante o processo de registo.

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
Herança
ComRegisterFunctionAttribute
Atributos

Exemplos

O exemplo seguinte demonstra como aplicar ComRegisterFunctionAttribute e ComUnregisterFunctionAttribute a métodos com a assinatura apropriada.

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

Observações

Pode aplicar esta característica a métodos.

ComRegisterFunctionAttribute permite adicionar códigos de registo arbitrários para acomodar os requisitos dos clientes COM. Por exemplo, pode atualizar o registo usando funções de registo a partir do espaço de nomes Microsoft.Win32. Se fornecer um método de registo, deve também candidatar-se System.Runtime.InteropServices.ComUnregisterFunctionAttribute a um método de desregisto, que reverte as operações realizadas no método de registo.

.NET Framework: O runtime da linguagem comum chama o método com este atributo quando o assembly que o contém está registado (direta ou indiretamente) com a ferramenta Regasm.exe (Assembly Registration)) ou através do método RegistrationServices.RegisterAssembly.

.NET Core: O runtime da linguagem comum chama o método com este atributo quando o host COM do assembly que o contém é registado através da ferramenta RegSvr32.exe.

Este atributo pode ser aplicado apenas a métodos que possuem as seguintes características:

  • Âmbito: Qualquer um (público, privado, e assim por diante).

  • Tipo: static.

  • Parâmetros: Aceita um único Type parâmetro ou um String tipo de parâmetro.

  • Tipo de devolução: void.

Construtores

Name Description
ComRegisterFunctionAttribute()

Inicializa uma nova instância da ComRegisterFunctionAttribute classe.

Propriedades

Name Description
TypeId

Quando implementado numa classe derivada, obtém um identificador único para esta Attribute.

(Herdado de Attribute)

Métodos

Name Description
Equals(Object)

Devolve um valor que indica se esta instância é igual a um objeto especificado.

(Herdado de Attribute)
GetHashCode()

Devolve o código de hash para esta instância.

(Herdado de Attribute)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
IsDefaultAttribute()

Quando sobrescrito numa classe derivada, indica se o valor desta instância é o valor padrão para a classe derivada.

(Herdado de Attribute)
Match(Object)

Quando sobrescrito numa classe derivada, devolve um valor que indica se esta instância é igual a um objeto especificado.

(Herdado de Attribute)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Implementações de Interface Explícita

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

Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de despacho.

(Herdado de Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera a informação de tipo de um objeto, que pode ser usada para obter a informação de tipo para uma interface.

(Herdado de Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Recupera o número de interfaces de informações de tipo que um objeto fornece (0 ou 1).

(Herdado de Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Proporciona acesso a propriedades e métodos expostos por um objeto.

(Herdado de Attribute)

Aplica-se a

Ver também