CA1014:以 CLSCompliantAttribute 標記組件
型別名稱 |
MarkAssembliesWithClsCompliant |
CheckId |
CA1014 |
分類 |
Microsoft.Design |
中斷變更 |
中斷 |
原因
組件沒有套用 System.CLSCompliantAttribute 屬性 (Attribute)。
規則描述
Common Language Specification (CLS) 會定義命名限制、資料型別及組件必須遵守的規則 (如果組件會使用於跨程式設計語言時)。良好的設計會要求所有組件使用 CLSCompliantAttribute 明確表示 CLS 標準的符合性。如果該屬性未出現於組件中,則表示組件不符合 CSL 標準。
符合 CLS 標準的組件可能會包含不符合標準的型別或型別成員。
如何修正違規
若要修正此規則的違規情形,請將屬性加入至組件。與其將整個組件標示為不符合標準,您應該判斷哪個型別或哪些型別成員不符合標準,然後將這些項目標示為不符合標準。如果可能,您應該提供符合 CLS 標準的成員代替不符合標準的成員,以便讓最廣泛的可能使用者可以存取組件的所有功能。
隱藏警告的時機
請勿隱藏此規則的警告。如果您不想讓組件為相容的,請套用此屬性並將其值設為 false。
範例
下列範例會顯示已套用 System.CLSCompliantAttribute 屬性,並將其宣告為符合 CLS 標準的組件。
Imports System
<assembly:CLSCompliant(true)>
Namespace DesignLibrary
End Namespace
using System;
[assembly:CLSCompliant(true)]
namespace DesignLibrary {}
using namespace System;
[assembly:CLSCompliant(true)];
namespace DesignLibrary {}