CLSCompliantAttribute 類別

定義

表示程式項目是否符合 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
屬性

範例

下列範例會將 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)

適用於

另請參閱