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 8 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 {}

Zobacz też