CLSCompliantAttribute CLSCompliantAttribute CLSCompliantAttribute CLSCompliantAttribute Class

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
CLSCompliantAttributeCLSCompliantAttributeCLSCompliantAttributeCLSCompliantAttribute
Attribute

Beispiele

Im folgenden Beispiel wird eine CLSCompliantAttribute für die gesamte Assembly.The following example applies a CLSCompliantAttribute to the entire assembly.

using System;  
    [assembly: CLSCompliant(true)]  

Die folgende Deklaration wird eine CLS-Kompatibilität: Warnung generiert, da der Typ UInt32 in CLS-Kompatibilität nicht 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 markiert ist eine CLSCompliantAttribute, keine Compiler-Warnungen oder Fehler wird generiert.If the declaration is marked with a CLSCompliantAttribute, no compiler warning or error is generated.

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

Hinweise

Die CLSCompliantAttribute Attribut verwendet, um anzugeben, ob ein bestimmtes Programmelement mit der Common Language Specification (CLS) kompatibel ist, das die Funktionen definiert, die einer beliebigen Sprache, das die .NET Framework 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. CLS-Kompatibilität wird hauptsächlich von Bedeutung Library-Entwickler, die möchten, stellen Sie sicher, dass ihre Bibliotheken in einer beliebigen Sprache zugegriffen werden kann, die auf .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 Sprachenunabhängigkeit und sprachunabhängige Komponenten.For more information, See Language Independence and Language-Independent Components.

Können Sie anwenden der CLSCompliantAttribute -Attribut auf die folgenden Programmelemente: Assembly, Modul, -Klasse, Struktur, Enumeration, Konstruktor, -Methode, Eigenschaft, Feld, Ereignis, -Schnittstelle, Delegaten, 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. Das Konzept der CLS-Kompatibilität ist jedoch nur für Assemblys, Modulen, Typen und Member von Typen, keine Membersignatur Teile von Bedeutung.However, the notion of CLS compliance is only meaningful for assemblies, modules, types, and members of types, not parts of a member signature. Folglich CLSCompliantAttribute wird ignoriert, wenn auf Parameter angewendete oder den Rückgabewert Programmelemente.Consequently, CLSCompliantAttribute is ignored when applied to parameter or return value program elements.

Wenn kein CLSCompliantAttribute auf ein Programmelement aus, und klicken Sie dann in der Standardeinstellung angewendet wird: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 CLS-kompatibel, nur dann, 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 CLS-kompatibel, nur dann, 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 markiert ist, muss alle öffentlich verfügbar gemachte Typ in der Assembly, die nicht CLS-kompatibel ist mit markiert CLSCompliantAttribute mithilfe einer false Argument.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. Auf ähnliche Weise, wenn eine Klasse als CLS-kompatibel markiert ist, müssen Sie einzeln alle Elemente markieren, die nicht CLS-kompatibel sind.Similarly, if a class is marked as CLS-compliant, you must individually mark all members that are not CLS-compliant. Alle nicht-kompatible Member müssen die entsprechenden CLS-kompatible Alternativen angeben.All non-compliant members must provide corresponding CLS-compliant alternatives.

Attribute, die auf die Assemblys oder Module angewendet werden müssen erfolgen, nach c# using (Imports in Visual Basic) Klauseln und vor dem Code.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

Aktuelle Microsoft Visual Basic-Compiler erzeugt absichtlich nicht CLS-Kompatibilität: Warnung, die eine zukünftige Version des Compilers wird jedoch, dass die Warnung ausgegeben.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) CLSCompliantAttribute(Boolean) CLSCompliantAttribute(Boolean) 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 IsCompliant IsCompliant 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 TypeId TypeId 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.

(Inherited from Attribute)

Methoden

Equals(Object) Equals(Object) Equals(Object) 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.

(Inherited from Attribute)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

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

(Inherited from Attribute)
GetType() GetType() GetType() GetType()

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

(Inherited from Object)
IsDefaultAttribute() IsDefaultAttribute() IsDefaultAttribute() 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.

(Inherited from Attribute)
Match(Object) Match(Object) Match(Object) 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.

(Inherited from Attribute)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

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

(Inherited from Object)
ToString() ToString() ToString() ToString()

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

(Inherited from Object)

Explizite Schnittstellenimplementierungen

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) _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.

(Inherited from Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _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.

(Inherited from Attribute)
_Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32) _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).

(Inherited from Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _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.

(Inherited from Attribute)

Gilt für:

Siehe auch