CLSCompliantAttribute Klasse

Definition

Gibt an, ob ein Programmelement mit der Common Language Specification (CLS) kompatibel ist.Indicates whether a program element is compliant with the Common Language Specification (CLS). Diese Klasse kann nicht vererbt werden.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
Vererbung
CLSCompliantAttribute
Attribute

Beispiele

Im folgenden Beispiel wird ein CLSCompliantAttribute auf die gesamte Assembly angewendet.The following example applies a CLSCompliantAttribute to the entire assembly.

using System;  
    [assembly: CLSCompliant(true)]  

Die folgende Deklaration generiert eine CLS-Kompatibilitäts Warnung, UInt32 da der Typ nicht in der CLS angegeben ist.The following declaration generates a CLS-compliance warning because the type UInt32 is not specified in the CLS.

public int SetValue(UInt32 value);  

Wenn die Deklaration mit CLSCompliantAttributegekennzeichnet ist, wird keine Compilerwarnung oder kein Fehler generiert.If the declaration is marked with a CLSCompliantAttribute, no compiler warning or error is generated.

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

Hinweise

Das CLSCompliantAttribute -Attribut wird verwendet, um anzugeben, ob ein bestimmtes Programmelement mit dem Common Language Specification (CLS) übereinstimmt, das die Funktionen definiert, die jede Sprache, die auf die .NET Framework abzielt, unterstützen muss.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. Die CLS-Kompatibilität ist hauptsächlich für Bibliotheks Entwickler von Bedeutung, die sicherstellen möchten, dass auf Ihre Bibliotheken in jeder Sprache zugegriffen werden kann, die auf die .NET Framework abzielt.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. Weitere Informationen finden Sie unter Sprachen Unabhängigkeit und sprachunabhängige Komponenten.For more information, See Language Independence and Language-Independent Components.

Sie können das CLSCompliantAttribute -Attribut auf die folgenden Programmelemente anwenden: Assembly, Modul, Klasse, Struktur, Enumeration, Konstruktor, Methode, Eigenschaft, Feld, Ereignis, Schnittstelle, Delegat, Parameter und Rückgabewert.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. Allerdings ist das Konzept der CLS-Kompatibilität nur für Assemblys, Module, Typen und Member von Typen sinnvoll, nicht für Teile einer Element Signatur.However, the notion of CLS compliance is only meaningful for assemblies, modules, types, and members of types, not parts of a member signature. Folglich wird CLSCompliantAttribute ignoriert, wenn Sie auf Parameter-oder Rückgabewert Programm-Elemente angewendet wird.Consequently, CLSCompliantAttribute is ignored when applied to parameter or return value program elements.

Wenn kein CLSCompliantAttribute auf ein Programmelement angewendet wird, gilt standardmäßig Folgendes:If no CLSCompliantAttribute is applied to a program element, then by default:

  • Die Assembly ist nicht CLS-kompatibel.The assembly is not CLS-compliant.

  • Der Typ ist nur CLS-kompatibel, wenn der einschließende Typ oder die Assembly CLS-kompatibel ist.The type is CLS-compliant only if its enclosing type or assembly is CLS-compliant.

  • Der Member eines Typs ist nur CLS-kompatibel, wenn der Typ CLS-kompatibel ist.The member of a type is CLS-compliant only if the type is CLS-compliant.

Wenn eine Assembly als CLS-kompatibel gekennzeichnet ist, müssen alle öffentlich verfügbar gemachten Typen in der Assembly, die nicht CLS-kompatibel sind, CLSCompliantAttribute mit einem false -Argument gekennzeichnet werden.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. Wenn eine Klasse als CLS-kompatibel gekennzeichnet ist, müssen Sie auch alle Member, die nicht CLS-kompatibel sind, einzeln markieren.Similarly, if a class is marked as CLS-compliant, you must individually mark all members that are not CLS-compliant. Alle nicht kompatiblen Member müssen entsprechende CLS-kompatible Alternativen bereitstellen.All non-compliant members must provide corresponding CLS-compliant alternatives.

Attribute, die auf Assemblys oder Module angewendet werden, C# using müssenImports nach den Klauseln (in Visual Basic) und vor dem Code auftreten.Attributes that are applied to assemblies or modules must occur after the C# using (Imports in Visual Basic) clauses and before the code.

Weitere Informationen zum Verwenden von Attributen finden Sie unter Attribute.For more information about using attributes, see Attributes.

Hinweis

Der aktuelle Microsoft Visual Basic-Compiler generiert absichtlich keine CLS-Kompatibilitäts Warnung, aber eine zukünftige Version des Compilers gibt diese Warnung aus.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.

Konstruktoren

CLSCompliantAttribute(Boolean)

Initialisiert eine Instanz der CLSCompliantAttribute-Klasse mit einem booleschen Wert, der angibt, ob das angegebene Programmelement CLS-kompatibel ist.Initializes an instance of the CLSCompliantAttribute class with a Boolean value indicating whether the indicated program element is CLS-compliant.

Eigenschaften

IsCompliant

Ruft den booleschen Wert ab, der angibt, ob das angegebene Programmelement CLS-kompatibel ist.Gets the Boolean value indicating whether the indicated program element is CLS-compliant.

TypeId

Ruft bei Implementierung in einer abgeleiteten Klasse einen eindeutigen Bezeichner für dieses Attribute ab.When implemented in a derived class, gets a unique identifier for this Attribute.

(Geerbt von Attribute)

Methoden

Equals(Object)

Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist.Returns a value that indicates whether this instance is equal to a specified object.

(Geerbt von Attribute)
GetHashCode()

Gibt den Hashcode für diese Instanz zurück.Returns the hash code for this instance.

(Geerbt von Attribute)
GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Geerbt von Object)
IsDefaultAttribute()

Gibt beim Überschreiben in einer abgeleiteten Klasse an, ob der Wert der Instanz der Standardwert für die abgeleitete Klasse ist.When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(Geerbt von Attribute)
Match(Object)

Beim Überschreiben in einer abgeleiteten Klasse wird ein Wert zurückgegeben, der angibt, ob diese Instanz einem bestimmten Objekt entspricht.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Geerbt von Attribute)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

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

Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.Maps a set of names to a corresponding set of dispatch identifiers.

(Geerbt von Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Ruft die Typinformationen für ein Objekt ab, mit deren Hilfe die Typinformationen für eine Schnittstelle abgerufen werden können.Retrieves the type information for an object, which can be used to get the type information for an interface.

(Geerbt von Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Geerbt von Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Stellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit.Provides access to properties and methods exposed by an object.

(Geerbt von Attribute)

Gilt für:

Siehe auch