CA1410: методы регистрации для COM-клиента должны быть соответствующими
TypeName |
ComRegistrationMethodsShouldBeMatched |
CheckId |
CA1410 |
Категория |
Microsoft.Interoperability |
Критическое изменение |
Не критическое |
Причина
В типе объявляется метод, помеченный атрибутом ComRegisterFunctionAttribute, но не объявляется метод, помеченный атрибутом ComUnregisterFunctionAttribute, или наоборот.
Описание правила
Для создания COM-клиентами типа .NET Framework необходимо сначала зарегистрировать этот тип.Если это возможно, в процессе регистрации вызывается метод, помеченный атрибутом ComRegisterFunctionAttribute, для выполнения определенного пользователем кода.В процессе отмены регистрации вызывается метод, помеченный атрибутом ComUnregisterFunctionAttribute, чтобы обратить операции метода регистрации.
Устранение нарушений
Чтобы устранить нарушение данного правила, добавьте соответствующий метод регистрации или отмены регистрации.
Отключение предупреждений
Для этого правила отключать вывод предупреждений не следует.
Пример
В следующем примере показан тип, который нарушает данное правило.В помеченном метками комментария коде показано исправления этого нарушения.
Imports System
Imports System.Runtime.InteropServices
<Assembly: ComVisibleAttribute(True)>
Namespace InteroperabilityLibrary
Public Class ClassToRegister
End Class
Public Class ComRegistration
<ComRegisterFunctionAttribute> _
Friend Shared Sub RegisterFunction(typeToRegister As Type)
End Sub
' <ComUnregisterFunctionAttribute> _
' Friend Shared Sub UnregisterFunction(typeToRegister As Type)
' End Sub
End Class
End Namespace
using System;
using System.Runtime.InteropServices;
[assembly: ComVisible(true)]
namespace InteroperabilityLibrary
{
public class ClassToRegister
{
}
public class ComRegistration
{
[ComRegisterFunction]
internal static void RegisterFunction(Type typeToRegister) {}
// [ComUnregisterFunction]
// internal static void UnregisterFunction(Type typeToRegister) {}
}
}
Связанные правила
CA1411: методы регистрации для COM-клиента не должны быть видимыми
См. также
Ссылки
Regasm.exe (средство регистрации сборок)