Поделиться через


ComRegisterFunctionAttribute Класс

Определение

Задает метод, вызываемый при регистрации сборки для использования из COM. Это позволяет выполнять код, написанный пользователем, в процессе регистрации.

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
Наследование
ComRegisterFunctionAttribute
Атрибуты

Примеры

В следующем примере показано, как применять ComRegisterFunctionAttribute и ComUnregisterFunctionAttribute к методам с соответствующей сигнатурой.

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

Комментарии

Этот атрибут можно применить к методам.

ComRegisterFunctionAttribute позволяет добавлять произвольный код регистрации в соответствии с требованиями клиентов COM. Например, можно обновить реестр с помощью функций регистрации из Microsoft.Win32 пространства имен . Если вы предоставляете метод регистрации, следует также применить метод System.Runtime.InteropServices.ComUnregisterFunctionAttribute отмены регистрации, который отменяет операции, выполненные в методе регистрации.

.NET Framework: Общеязыковая среда выполнения вызывает метод с этим атрибутом, когда его содержащая сборка зарегистрирована (прямо или косвенно) с помощью средстваRegasm.exe (регистрация сборки) или с помощью RegistrationServices.RegisterAssembly метода .

.NET Core: Среда CLR вызывает метод с этим атрибутом, когда его узел COM, содержащий сборку, зарегистрирован через средствоRegSvr32.exe.

Этот атрибут может применяться только к методам со следующими характеристиками:

  • Область: любая (общедоступная, частная и т. д.).

  • Введите static.

  • Параметры: принимает один Type параметр или String тип параметра.

  • Тип возвращаемого значения: void.

Конструкторы

ComRegisterFunctionAttribute()

Инициализирует новый экземпляр класса ComRegisterFunctionAttribute.

Свойства

TypeId

В случае реализации в производном классе возвращает уникальный идентификатор для этого атрибута Attribute.

(Унаследовано от Attribute)

Методы

Equals(Object)

Возвращает значение, показывающее, равен ли экземпляр указанному объекту.

(Унаследовано от Attribute)
GetHashCode()

Возвращает хэш-код данного экземпляра.

(Унаследовано от Attribute)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
IsDefaultAttribute()

При переопределении в производном классе указывает, является ли значение этого экземпляра значением по умолчанию для производного класса.

(Унаследовано от Attribute)
Match(Object)

При переопределении в производном классе возвращает значение, указывающее, является ли этот экземпляр равным заданному объекту.

(Унаследовано от Attribute)
MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Явные реализации интерфейса

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

Сопоставляет набор имен соответствующему набору идентификаторов диспетчеризации.

(Унаследовано от Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Возвращает сведения о типе объекта, которые можно использовать для получения сведений о типе интерфейса.

(Унаследовано от Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Возвращает количество предоставляемых объектом интерфейсов для доступа к сведениям о типе (0 или 1).

(Унаследовано от Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Предоставляет доступ к открытым свойствам и методам объекта.

(Унаследовано от Attribute)

Применяется к

См. также раздел