CA1017: Derlemeleri ComVisibleAttribute ile işaretleme
Özellik | Değer |
---|---|
Kural Kimliği | CA1017 |
Başlık | Derlemeleri ComVisibleAttribute ile işaretleyin |
Kategori | Tasarım |
Hataya neden olan veya bozulmayan düzeltme | Hataya neden olmayan |
.NET 8'de varsayılan olarak etkin | Hayır |
Neden
Derlemede System.Runtime.InteropServices.ComVisibleAttribute özniteliği uygulanmaz.
Kural açıklaması
özniteliği, ComVisibleAttribute COM istemcilerinin yönetilen koda nasıl erişeceğini belirler. İyi tasarım derlemelerin açıkça COM görünürlüğünde gösterildiğini belirler. COM görünürlüğü bütün bir derleme için ayarlanabilir ve ardından tek tek türler ve tür üyeleri için geçersiz kılınabilir. Öznitelik yoksa, derlemenin içeriği COM istemcileri tarafından görülebilir.
İhlalleri düzeltme
Bu kuralın ihlalini düzeltmek için özniteliğini derlemeye ekleyin. Derlemenin COM istemcilerine görünür olmasını istemiyorsanız özniteliğini uygulayın ve değerini olarak false
ayarlayın.
Uyarıların ne zaman bastırılması gerekiyor?
Bu kuraldan uyarıyı bastırmayın. Derlemenin görünür olmasını istiyorsanız özniteliğini uygulayın ve değerini olarak true
ayarlayın.
Örnek
Aşağıdaki örnekte, COM istemcilerinin görmesini önlemek için özniteliğinin uygulandığı bir derleme ComVisibleAttribute gösterilmektedir.
<Assembly: System.Runtime.InteropServices.ComVisible(False)>
Namespace DesignLibrary
End Namespace
[assembly: System.Runtime.InteropServices.ComVisible(false)]
namespace DesignLibrary {}