CLSCompliantAttribute Třída

Definice

Určuje, jestli je prvek programu kompatibilní se specifikací CLS (Common Language Specification). Tato třída se nemůže 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 platí CLSCompliantAttribute pro celé sestavení.

using System;
    [assembly: CLSCompliant(true)]

Následující deklarace vygeneruje upozornění cls-compliance, protože typ UInt32 není zadán v CLS.

public int SetValue(UInt32 value);

Pokud je deklarace označena CLSCompliantAttributesymbolem , nevygeneruje se žádné upozornění kompilátoru nebo chyba.

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

Poznámky

Atribut CLSCompliantAttribute slouží k označení, zda určitý prvek programu odpovídá specifikaci CLS (Common Language Specification), která definuje funkce, které všechny jazyky, které cílí na .NET musí podporovat. Dodržování předpisů CLS je primárně důležité pro vývojáře knihoven, kteří chtějí zajistit, aby jejich knihovny byly přístupné v jakémkoli jazyce, který cílí na .NET. Další informace naleznete v tématu Jazyková nezávislost a součásti Language-Independent.

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

Pokud není u elementu programu použitá žádná CLSCompliantAttribute , pak ve výchozím nastavení:

  • Sestavení není kompatibilní se specifikací CLS.

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

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

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

Atributy použité u sestavení nebo modulů musí nastat po klauzulích c# using (Imports v Visual Basic) a před kódem.

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

Note

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

Konstruktory

Name Description
CLSCompliantAttribute(Boolean)

Inicializuje instanci CLSCompliantAttribute třídy s logickou hodnotou označující, zda je označený prvek programu kompatibilní se specifikací CLS.

Vlastnosti

Name Description
IsCompliant

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

TypeId

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

(Zděděno od Attribute)

Metody

Name Description
Equals(Object)

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

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

Vrátí kód hash pro tuto instanci.

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

Získá Type aktuální instance.

(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 pro odvozenou třídu.

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

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

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

Vytvoří mělkou kopii aktuálního 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í

Name Description
_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 pro 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é