Common Language Specification (CLS) 是 CLR 定義的語言特徵子集,確保以不同語言編譯的組件能無縫互通。遵循 CLS 的類別,其公開成員可被任何支援 CLS 的語言存取。
使用 System.CLSCompliantAttribute 標記組件或型別:
[assembly: CLSCompliant(true)] // 組件層級
[CLSCompliant(false)] // 型別/成員層級標記不合規
true 表示合規,false 表示刻意不合規。| 規則 | 說明 |
|---|---|
| 識別項大小寫 | 公開成員不可僅靠大小寫區分 |
| 無號型別 | 公開介面不可暴露 uint, ulong 等 |
| 指標 | 公開簽章不可使用指標型別 |
| 運算子多載 | 需提供同功能的命名方法(如 Add) |
| 屬性/事件 | 需符合命名模式 |
[assembly: CLSCompliant(true)]。uint 參數)時,在該成員標記 [CLSCompliant(false)]。