CA1410: I metodi di registrazione COM devono corrispondere
Articolo | Valore |
---|---|
ID regola | CA1410 |
Category | Microsoft.Interoperability |
Modifica | Nessuna interruzione |
Causa
Un tipo dichiara un metodo contrassegnato con l'attributo System.Runtime.InteropServices.ComRegisterFunctionAttribute ma non dichiara un metodo contrassegnato con l'attributo System.Runtime.InteropServices.ComUnregisterFunctionAttribute o viceversa.
Descrizione regola
Affinché i client COM (Component Object Model) creino un tipo .NET, il tipo deve prima essere registrato. Se disponibile, viene chiamato un metodo contrassegnato con l'attributo ComRegisterFunctionAttribute durante il processo di registrazione per eseguire il codice specificato dall'utente. Durante il processo di annullamento della registrazione viene chiamato un metodo corrispondente contrassegnato con l'attributo ComUnregisterFunctionAttribute .
Come correggere le violazioni
Per correggere una violazione di questa regola, aggiungere il metodo di registrazione o annullamento della registrazione corrispondente.
Quando eliminare gli avvisi
Non escludere un avviso da questa regola.
Esempio
Nell'esempio seguente viene illustrato un tipo che viola la regola. Il codice commentato mostra la correzione per la violazione.
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) {}
}
}
Regole correlate
CA1411: I metodi di registrazione COM non devono essere visibili
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