CA1410: Metody rejestracji COM powinny być dopasowane
TypeName |
ComRegistrationMethodsShouldBeMatched |
CheckId |
CA1410 |
Kategoria |
Microsoft.Interoperability |
Złamanie zmiany |
Bez podziału |
Przyczyna
Typ deklaruje metody, która jest oznaczone ComRegisterFunctionAttribute atrybut, ale nie deklaruje metody, która jest oznaczone ComUnregisterFunctionAttribute atrybutu, lub odwrotnie.
Opis reguły
Dla klientów systemu nazw domen (COM, Component Object Model) utworzyć .NET Framework typu, typu muszą być po raz pierwszy zarejestrowane.Jeśli jest dostępna, metoda, która jest oznaczona z ComRegisterFunctionAttribute atrybut nazywa się podczas procesu rejestracji na uruchomienie kodu określone przez użytkownika.Odpowiedniej metody, która jest oznaczone ComUnregisterFunctionAttribute atrybut nazywa się podczas procesu wyrejestrowania, aby odwrócić operacji metoda rejestracji.
Jak naprawić naruszenia
Aby rozwiązać problem naruszenie tej zasady, należy dodać odpowiadającej mu rejestracji lub metoda wyrejestrowania.
Kiedy do pomijania ostrzeżenia
Nie pomijaj ostrzeżenie od tej reguły.
Przykład
Poniższy przykład pokazuje typ, który narusza reguły.Kod w komentarzach zawiera poprawkę dotyczącą naruszenia.
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) {}
}
}
Zasady pokrewne
CA1411: Metody rejestracji modelu COM nie powinny być widoczne
Zobacz też
Informacje
Regasm.exe (Narzędzie rejestracji zestawów)