CA1409: I tipi visibili a COM devono essere creabili
Articolo | Valore |
---|---|
ID regola | CA1409 |
Category | Microsoft.Interoperability |
Modifica | Nessuna interruzione |
Causa
Un tipo di riferimento contrassegnato in modo specifico come visibile a COM (Component Object Model) contiene un costruttore con parametri pubblici, ma non contiene un costruttore pubblico predefinito (senza parametri).
Descrizione regola
Un tipo senza un costruttore predefinito pubblico non può essere creato dai client COM. Tuttavia, il tipo può comunque essere accessibile dai client COM se è disponibile un altro mezzo per creare il tipo e passarlo al client , ad esempio tramite il valore restituito di una chiamata al metodo.
La regola ignora i tipi derivati da System.Delegate.
Per impostazione predefinita, i seguenti elementi sono visibili a COM: assembly, tipi pubblici, membri di istanze pubbliche nei tipi pubblici e tutti i membri dei tipi di valore pubblico.
Come correggere le violazioni
Per correggere una violazione di questa regola, aggiungere un costruttore predefinito pubblico o rimuovere dal System.Runtime.InteropServices.ComVisibleAttribute tipo .
Quando eliminare gli avvisi
È possibile eliminare un avviso da questa regola se vengono forniti altri modi per creare e passare l'oggetto al client COM.
Regole correlate
CA1017: Contrassegnare gli assembly con ComVisibleAttribute
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