CLSCompliantAttribute Třída

Definice

Určuje, jestli je prvek programu kompatibilní se specifikací CLS (Common Language Specification). Tuto třídu nelze dědit.

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
Dědičnost
CLSCompliantAttribute
Atributy

Příklady

Následující příklad použije CLSCompliantAttribute pro celé sestavení.

using System;
    [assembly: CLSCompliant(true)]

Následující deklarace vygeneruje upozornění dodržování předpisů CLS, protože typ UInt32 není zadán v CLS.

public int SetValue(UInt32 value);

Pokud je deklarace označena CLSCompliantAttributejako , není generováno žádné upozornění kompilátoru nebo chyba.

[CLSCompliant(false)]
 public int SetValue(UInt32 value);

Poznámky

Atribut CLSCompliantAttribute se používá k označení, zda určitý prvek programu splňuje specifikaci clS (Common Language Specification), která definuje funkce, které jakýkoli jazyk, který cílí na .NET, musí podporovat. Dodržování předpisů CLS se primárně týká vývojářů knihoven, kteří chtějí zajistit, aby jejich knihovny byly přístupné v libovolném jazyce, který cílí na .NET. Další informace naleznete v tématu Language Independence and Language-Independent Components.

Atribut můžete použít CLSCompliantAttribute na následující prvky programu: assembly, module, class, struct, enum, konstruktor, method, property, field, event, interface, delegate, parameter a return value. Pojem dodržování předpisů CLS je ale smysluplný jenom pro sestavení, moduly, typy a členy typů, nikoli části podpisu člena. V důsledku toho CLSCompliantAttribute se při použití na prvky programu parametru nebo návratové hodnoty ignoruje.

Pokud se na prvek programu nepoužije žádná CLSCompliantAttribute , ve výchozím nastavení:

  • Sestavení nedodržuje předpisy CLS.

  • Typ je kompatibilní s CLS pouze v případě, že jeho uzavřený typ nebo sestavení je kompatibilní se specifikací CLS.

  • Člen typu je kompatibilní s CLS pouze v případě, že je typ kompatibilní se specifikací CLS.

Pokud je sestavení označené jako kompatibilní s CLS, musí být jakýkoli veřejně vystavený typ v sestavení, který není kompatibilní se specifikací CLS, označen pomocí CLSCompliantAttribute argumentu false . Podobně platí, že pokud je třída označená jako kompatibilní se specifikací CLS, musíte jednotlivě označit všechny členy, které nedodržují předpisy CLS. Všichni nevyhovující členové musí poskytovat odpovídající alternativy kompatibilní s CLS.

Atributy použité na sestavení nebo moduly musí nastat po klauzulích C# using (Importsv Visual Basic) a před kódem.

Další informace o používání atributů najdete v tématu Atributy.

Poznámka

Aktuální kompilátor Microsoftu Visual Basic záměrně nevygeneruje upozornění dodržování předpisů CLS, ale budoucí vydání kompilátoru toto upozornění vydá.

Konstruktory

CLSCompliantAttribute(Boolean)

Inicializuje instanci CLSCompliantAttribute třídy s logickou hodnotou označující, zda je označený program element kompatibilní s CLS.

Vlastnosti

IsCompliant

Získá logickou hodnotu označující, zda je označený prvek programu kompatibilní s CLS.

TypeId

Při implementaci v odvozené třídě získá jedinečný identifikátor pro tento Attribute.

(Zděděno od Attribute)

Metody

Equals(Object)

Vrací hodnotu, která určuje, zda je tato instance rovna zadanému objektu.

(Zděděno od Attribute)
GetHashCode()

Vrátí hodnotu hash pro tuto instanci.

(Zděděno od Attribute)
GetType()

Type Získá aktuální instanci.

(Zděděno od Object)
IsDefaultAttribute()

Při přepsání v odvozené třídě určuje, zda hodnota této instance je výchozí hodnotou odvozené třídy.

(Zděděno od Attribute)
Match(Object)

Při přepsání v odvozené třídě vrátí hodnotu, která označuje, zda se tato instance rovná zadanému objektu.

(Zděděno od Attribute)
MemberwiseClone()

Vytvoří použádnou kopii aktuálního souboru Object.

(Zděděno od Object)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Explicitní implementace rozhraní

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Mapuje sadu názvů na odpovídající sadu identifikátorů pro rozesílání.

(Zděděno od Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Načte informace o typu objektu, který lze použít k získání informací o typu rozhraní.

(Zděděno od Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Získá počet rozhraní typu informací, které objekt poskytuje (0 nebo 1).

(Zděděno od Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Poskytuje přístup k vlastnostem a metodám vystaveným objektem.

(Zděděno od Attribute)

Platí pro

Viz také