CA1411: I metodi di registrazione COM non devono essere visibili
Articolo | Valore |
---|---|
ID regola | CA1411 |
Category | Microsoft.Interoperability |
Modifica | Interruzione |
Causa
Un metodo contrassegnato con System.Runtime.InteropServices.ComRegisterFunctionAttribute o l'attributo System.Runtime.InteropServices.ComUnregisterFunctionAttribute è visibile esternamente.
Descrizione regola
Quando un assembly viene registrato con Component Object Model (COM), le voci vengono aggiunte al Registro di sistema per ogni tipo visibile com nell'assembly. I metodi contrassegnati con gli ComRegisterFunctionAttribute attributi e ComUnregisterFunctionAttribute vengono chiamati rispettivamente durante i processi di registrazione e annullamento della registrazione per eseguire il codice utente specifico per la registrazione o l'annullamento della registrazione di questi tipi. Questo codice non deve essere chiamato all'esterno di questi processi.
Come correggere le violazioni
Per correggere una violazione di questa regola, modificare l'accessibilità del metodo in private
o internal
(Friend
in Visual Basic).
Quando eliminare gli avvisi
Non escludere un avviso da questa regola.
Esempio
Nell'esempio seguente vengono illustrati due metodi che violano la regola.
using System;
using System.Runtime.InteropServices;
[assembly: ComVisible(true)]
namespace InteroperabilityLibrary
{
public class ClassToRegister
{
}
public class ComRegistration
{
[ComRegisterFunction]
public static void RegisterFunction(Type typeToRegister) {}
[ComUnregisterFunction]
public static void UnregisterFunction(Type typeToRegister) {}
}
}
Regole correlate
CA1410: I metodi di registrazione COM devono corrispondere
Vedi anche
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per