CA1017: Oznacz zestawy za pomocą ComVisibleAttribute
Właściwości | Wartość |
---|---|
Identyfikator reguły | CA1017 |
Tytuł | Oznacz zestawy atrybutem ComVisibleAttribute |
Kategoria | Projekt |
Poprawka powodująca niezgodność lub niezgodność | Niezgodność |
Domyślnie włączone na platformie .NET 9 | Nie. |
Przyczyna
Zestaw nie ma zastosowanego atrybutu System.Runtime.InteropServices.ComVisibleAttribute .
Opis reguły
Atrybut ComVisibleAttribute określa, jak klienci COM uzyskują dostęp do kodu zarządzanego. Zasada dobrego projektowania nakazuje, aby zestawy jawnie wskazywały widoczność COM. Widoczność modelu COM można ustawić dla całego zestawu, a następnie zastąpić poszczególne typy i składowe typu. Jeśli atrybut nie jest obecny, zawartość zestawu jest widoczna dla klientów COM.
Jak naprawić naruszenia
Aby naprawić naruszenie tej reguły, dodaj atrybut do zestawu. Jeśli zestaw nie ma być widoczny dla klientów COM, zastosuj atrybut i ustaw jego wartość na false
.
Kiedy pomijać ostrzeżenia
Nie pomijaj ostrzeżeń dla tej reguły. Jeśli chcesz, aby zestaw był widoczny, zastosuj atrybut i ustaw jego wartość na true
.
Przykład
W poniższym przykładzie pokazano zestaw, który ma ComVisibleAttribute zastosowany atrybut, aby uniemożliwić jego widoczność klientom COM.
<Assembly: System.Runtime.InteropServices.ComVisible(False)>
Namespace DesignLibrary
End Namespace
[assembly: System.Runtime.InteropServices.ComVisible(false)]
namespace DesignLibrary {}