CLSCompliantAttribute Třída

Definice

Označuje, zda je prvek programu kompatibilní se specifikací CLS (Common Language Specification).Indicates whether a program element is compliant with the Common Language Specification (CLS). Tuto třídu nelze zdědit.This class cannot be inherited.

public ref class CLSCompliantAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.All, AllowMultiple=false, Inherited=true)]
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public sealed class CLSCompliantAttribute : Attribute
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í.The following example applies a CLSCompliantAttribute to the entire assembly.

using System;  
    [assembly: CLSCompliant(true)]  

Následující deklarace generuje upozornění kompatibility se specifikací CLS, protože typ UInt32 není uveden v specifikaci CLS.The following declaration generates a CLS-compliance warning because the type UInt32 is not specified in the CLS.

public int SetValue(UInt32 value);  

Pokud je deklarace označena jako CLSCompliantAttribute, není vygenerováno žádné upozornění kompilátoru nebo chyba.If the declaration is marked with a CLSCompliantAttribute, no compiler warning or error is generated.

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

Poznámky

CLSCompliantAttribute Atribut slouží k označení, zda určitý prvek programu vyhovuje specifikaci CLS (Common Language Specification), která definuje funkce, které jsou určeny pro všechny jazyky, které cílí na .NET Framework musí podporovat.The CLSCompliantAttribute attribute is used to indicate whether a particular program element complies with the Common Language Specification (CLS), which defines the features that any language that targets the .NET Framework must support. Kompatibilita se specifikací CLS se primárně týká vývojářů knihoven, kteří chtějí zajistit, aby jejich knihovny byly přístupné v jakémkoli jazyce, který cílí na .NET Framework.CLS compliance is primarily of concern to library developers who want to ensure that their libraries are accessible in any language that targets the .NET Framework. Další informace najdete v tématu nezávislost jazyka a jazykové komponenty nezávislé na jazyce.For more information, See Language Independence and Language-Independent Components.

CLSCompliantAttribute Atribut lze použít pro následující prvky programu: sestavení, modul, třída, struktura, výčet, konstruktor, metoda, vlastnost, pole, událost, rozhraní, delegát, parametr a návratová hodnota.You can apply the CLSCompliantAttribute attribute to the following program elements: assembly, module, class, struct, enum, constructor, method, property, field, event, interface, delegate, parameter, and return value. Nicméně pojem dodržování předpisů CLS je smysluplný pouze pro sestavení, moduly, typy a členy typů, nikoli části signatury člena.However, the notion of CLS compliance is only meaningful for assemblies, modules, types, and members of types, not parts of a member signature. V CLSCompliantAttribute důsledku toho se ignoruje při použití pro parametr nebo návratové hodnoty prvků programu.Consequently, CLSCompliantAttribute is ignored when applied to parameter or return value program elements.

CLSCompliantAttribute Pokud se nepoužije pro element programu, pak ve výchozím nastavení:If no CLSCompliantAttribute is applied to a program element, then by default:

  • Sestavení není kompatibilní se specifikací CLS.The assembly is not CLS-compliant.

  • Typ je kompatibilní se specifikací CLS pouze v případě, že jeho nadřazený typ nebo sestavení je kompatibilní se specifikací CLS.The type is CLS-compliant only if its enclosing type or assembly is CLS-compliant.

  • Člen typu je kompatibilní se specifikací CLS pouze v případě, že typ je kompatibilní se specifikací CLS.The member of a type is CLS-compliant only if the type is CLS-compliant.

Pokud je sestavení označeno jako kompatibilní se specifikací CLS, jakýkoli veřejně vystavený typ v sestavení, které není kompatibilní se specifikací CLS, musí CLSCompliantAttribute být označen false pomocí argumentu.If an assembly is marked as CLS-compliant, any publicly exposed type in the assembly that is not CLS-compliant must be marked with CLSCompliantAttribute using a false argument. Podobně pokud je třída označena jako kompatibilní se specifikací CLS, musíte jednotlivě označit všechny členy, kteří nejsou kompatibilní se specifikací CLS.Similarly, if a class is marked as CLS-compliant, you must individually mark all members that are not CLS-compliant. Všichni nekompatibilní členové musí poskytovat odpovídající alternativy kompatibilní se specifikací CLS.All non-compliant members must provide corresponding CLS-compliant alternatives.

Atributy, které se používají na sestavení nebo moduly, se musí C# using vyskytovatImports po klauzulích (v Visual Basic) a před kódem.Attributes that are applied to assemblies or modules must occur after the C# using (Imports in Visual Basic) clauses and before the code.

Další informace o použití atributů naleznete v tématu Attributes.For more information about using attributes, see Attributes.

Poznámka

Aktuální kompilátor Microsoft Visual Basic úmyslně negeneruje upozornění kompatibility se specifikací CLS, ale budoucí verze kompilátoru bude toto upozornění vydat.The current Microsoft Visual Basic compiler intentionally does not generate a CLS-compliance warning, however, a future release of the compiler will issue that warning.

Konstruktory

CLSCompliantAttribute(Boolean)

Inicializuje instanci CLSCompliantAttribute třídy s logickou hodnotou, která označuje, zda je zadaný prvek program kompatibilní se specifikací CLS.Initializes an instance of the CLSCompliantAttribute class with a Boolean value indicating whether the indicated program element is CLS-compliant.

Vlastnosti

IsCompliant

Získá logickou hodnotu označující, zda je zadaný prvek program kompatibilní se specifikací CLS.Gets the Boolean value indicating whether the indicated program element is CLS-compliant.

TypeId

Při implementaci v odvozené třídě získá jedinečný identifikátor pro tento Attribute.When implemented in a derived class, gets a unique identifier for this Attribute.

(Zděděno od Attribute)

Metody

Equals(Object)

Vrací hodnotu, která určuje, zda je tato instance rovna zadanému objektu.Returns a value that indicates whether this instance is equal to a specified object.

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

Vrátí kód hash této instance.Returns the hash code for this instance.

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

Type Získá aktuální instanci.Gets the Type of the current instance.

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

Při přepsání v odvozené třídě označuje, zda je hodnota této instance výchozí hodnotou pro odvozenou třídu.When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

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

Při přepsání v odvozené třídě vrátí hodnotu, která označuje, zda je tato instance rovna zadanému objektu.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

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

Vytvoří kopii aktuálního Objectseznamu.Creates a shallow copy of the current Object.

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

Vrací řetězec, který představuje aktuální objekt.Returns a string that represents the current object.

(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í.Maps a set of names to a corresponding set of dispatch identifiers.

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

Načte informace o typu pro objekt, který lze použít k získání informací o typu pro rozhraní.Retrieves the type information for an object, which can be used to get the type information for an interface.

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

Získá počet rozhraní typu informací, které objekt poskytuje (0 nebo 1).Retrieves the number of type information interfaces that an object provides (either 0 or 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.Provides access to properties and methods exposed by an object.

(Zděděno od Attribute)

Platí pro

Viz také