Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
| Property | Värde |
|---|---|
| Regel-ID | CA1017 |
| Title | Markera sammansättningar med ComVisibleAttribute |
| Kategori | Designa |
| Korrigeringen är icke-bakåtkompatibel | Icke-icke-bryta |
| Aktiverad som standard i .NET 9 | Nej |
Orsak
En sammansättning har inte det attribut som System.Runtime.InteropServices.ComVisibleAttribute tillämpas på den.
Regelbeskrivning
Attributet ComVisibleAttribute avgör hur COM-klienter får åtkomst till hanterad kod. Bra design avgör att sammansättningar uttryckligen anger COM-synlighet. COM-synlighet kan anges för en hel sammansättning och sedan åsidosättas för enskilda typer och typmedlemmar. Om attributet inte finns är innehållet i sammansättningen synligt för COM-klienter.
Så här åtgärdar du överträdelser
Om du vill åtgärda ett brott mot den här regeln lägger du till attributet i sammansättningen. Om du inte vill att sammansättningen ska vara synlig för COM-klienter använder du attributet och anger dess värde till false.
När du ska ignorera varningar
Ignorera inte en varning från den här regeln. Om du vill att sammansättningen ska vara synlig använder du attributet och anger dess värde till true.
Exempel
I följande exempel visas en sammansättning som har attributet ComVisibleAttribute tillämpat för att förhindra att det visas för COM-klienter.
<Assembly: System.Runtime.InteropServices.ComVisible(False)>
Namespace DesignLibrary
End Namespace
[assembly: System.Runtime.InteropServices.ComVisible(false)]
namespace DesignLibrary {}