CLSCompliantAttribute 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
表示程式項目是否符合 Common Language Specification (CLS) 標準。 此類別無法獲得繼承。
public ref class CLSCompliantAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.All, AllowMultiple=false, Inherited=true)]
public sealed class CLSCompliantAttribute : Attribute
[System.AttributeUsage(System.AttributeTargets.All, AllowMultiple=false, Inherited=true)]
[System.Serializable]
public sealed class CLSCompliantAttribute : Attribute
[System.AttributeUsage(System.AttributeTargets.All, AllowMultiple=false, Inherited=true)]
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class CLSCompliantAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.All, AllowMultiple=false, Inherited=true)>]
type CLSCompliantAttribute = class
inherit Attribute
[<System.AttributeUsage(System.AttributeTargets.All, AllowMultiple=false, Inherited=true)>]
[<System.Serializable>]
type CLSCompliantAttribute = class
inherit Attribute
[<System.AttributeUsage(System.AttributeTargets.All, AllowMultiple=false, Inherited=true)>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type CLSCompliantAttribute = class
inherit Attribute
Public NotInheritable Class CLSCompliantAttribute
Inherits Attribute
- 繼承
- 屬性
範例
下列範例會將 CLSCompliantAttribute 套用至整個元件。
using System;
[assembly: CLSCompliant(true)]
下列宣告會產生 CLS 合規性警告,因為 CLS 中未指定類型 UInt32
。
public int SetValue(UInt32 value);
如果宣告標示 CLSCompliantAttribute 為 ,則不會產生編譯器警告或錯誤。
[CLSCompliant(false)]
public int SetValue(UInt32 value);
備註
屬性 CLSCompliantAttribute 是用來指出特定程式專案是否符合 Common Language Specification (CLS) ,這會定義以 .NET 為目標的任何語言都必須支援的功能。 CLS 合規性主要是針對想要確保其程式庫可透過以 .NET 為目標之任何語言存取的程式庫開發人員所關注。 如需詳細資訊,請參閱 語言獨立和Language-Independent元件。
您可以將 屬性套用 CLSCompliantAttribute 至下列程式專案:assembly、module、class、struct、enum、建構函式、方法、屬性、欄位、事件、介面、委派、參數和傳回值。 不過,CLS 合規性的概念只對元件、模組、類型和類型的成員有意義,而不是成員簽章的一部分。 因此,套用至參數或傳回值程式專案時, CLSCompliantAttribute 會忽略 。
CLSCompliantAttribute如果沒有套用至程式專案,則預設為:
元件不符合 CLS 標準。
只有當其封入類型或元件符合 CLS 規範時,此類型才符合 CLS 標準。
只有在類型符合 CLS 規範時,類型的成員才符合 CLS 標準。
如果元件標示為符合 CLS 標準,則不符合 CLS 規範之元件中的任何公開類型都必須使用 false
引數來標示 CLSCompliantAttribute 。 同樣地,如果類別標示為符合 CLS 規範,您必須個別標示不符合 CLS 規範的所有成員。 所有不符合規範的成員都必須提供對應的 CLS 相容替代方案。
套用至元件或模組的屬性必須在 Visual Basic) 子句中的 C# using
(Imports
和程式碼之前發生。
如需使用屬性的詳細資訊,請參閱 屬性。
注意
目前的 Microsoft Visual Basic 編譯器刻意不會產生 CLS 合規性警告,不過,未來的編譯器版本將會發出該警告。
建構函式
CLSCompliantAttribute(Boolean) |
使用布林值初始化 CLSCompliantAttribute 類別的執行個體,該布林值會指出指定的程式項目是否符合 CLS 標準。 |
屬性
IsCompliant |
取得布林值,表示指定程式項目是否符合 CLS 標準。 |
TypeId |
在衍生類別中實作時,取得這個 Attribute 的唯一識別碼。 (繼承來源 Attribute) |
方法
Equals(Object) |
傳回值,這個值指出此執行個體是否與指定的物件相等。 (繼承來源 Attribute) |
GetHashCode() |
傳回這個執行個體的雜湊碼。 (繼承來源 Attribute) |
GetType() |
取得目前執行個體的 Type。 (繼承來源 Object) |
IsDefaultAttribute() |
在衍生類別中覆寫時,表示這個執行個體的值是衍生類別的預設值。 (繼承來源 Attribute) |
Match(Object) |
在衍生類別中覆寫時,會傳回值,表示這個執行個體是否等於指定物件。 (繼承來源 Attribute) |
MemberwiseClone() |
建立目前 Object 的淺層複製。 (繼承來源 Object) |
ToString() |
傳回代表目前物件的字串。 (繼承來源 Object) |
明確介面實作
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
將一組名稱對應至一組對應的分派識別項 (Dispatch Identifier)。 (繼承來源 Attribute) |
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
擷取物件的類型資訊,可以用來取得介面的類型資訊。 (繼承來源 Attribute) |
_Attribute.GetTypeInfoCount(UInt32) |
擷取物件提供的類型資訊介面數目 (0 或 1)。 (繼承來源 Attribute) |
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
提供物件所公開的屬性和方法的存取權。 (繼承來源 Attribute) |