Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

CLSCompliantAttribute-Klasse

 

Veröffentlicht: Oktober 2016

Gibt an, ob ein Programmelement mit der Common Language Specification (CLS) kompatibel ist. Diese Klasse kann nicht vererbt werden.

Namespace:   System
Assembly:  mscorlib (in mscorlib.dll)

System.Object
  System.Attribute
    System.CLSCompliantAttribute

[SerializableAttribute]
[AttributeUsageAttribute(AttributeTargets.All, Inherited = true, 
	AllowMultiple = false)]
[ComVisibleAttribute(true)]
public sealed class CLSCompliantAttribute : Attribute

NameBeschreibung
System_CAPS_pubmethodCLSCompliantAttribute(Boolean)

Initialisiert eine Instanz von der CLSCompliantAttribute Klasse mit einem booleschen Wert, der angibt, ob das angegebene Programmelement CLS-kompatibel ist.

NameBeschreibung
System_CAPS_pubpropertyIsCompliant

Ruft den booleschen Wert, der angibt, ob das angegebene Programmelement CLS-kompatibel ist.

System_CAPS_pubpropertyTypeId

Ruft bei Implementierung in einer abgeleiteten Klasse einen eindeutigen Bezeichner für dieses Attribute ab.(Geerbt von „Attribute“.)

NameBeschreibung
System_CAPS_pubmethodEquals(Object)

Diese API unterstützt die Produkt Infrastruktur und sollte nicht direkt aus dem Code verwendet werden. Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist.(Geerbt von „Attribute“.)

System_CAPS_pubmethodGetHashCode()

Gibt den Hashcode für diese Instanz zurück.(Geerbt von „Attribute“.)

System_CAPS_pubmethodGetType()

Ruft den Type der aktuellen Instanz ab.(Geerbt von „Object“.)

System_CAPS_pubmethodIsDefaultAttribute()

Gibt beim Überschreiben in einer abgeleiteten Klasse an, ob der Wert der Instanz der Standardwert für die abgeleitete Klasse ist.(Geerbt von „Attribute“.)

System_CAPS_pubmethodMatch(Object)

Ruft beim Überschreiben in einer abgeleiteten Klasse gibt einen Wert, der angibt, ob diese Instanz gleich ein angegebenen Objekt ist.(Geerbt von „Attribute“.)

System_CAPS_pubmethodToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.(Geerbt von „Object“.)

NameBeschreibung
System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.(Geerbt von „Attribute“.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_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.(Geerbt von „Attribute“.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetTypeInfoCount(UInt32)

Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1).(Geerbt von „Attribute“.)

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Stellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit.(Geerbt von „Attribute“.)

Die CLSCompliantAttribute Attribut wird verwendet, um anzugeben, ob ein bestimmtes Programmelement mit der Common Language Specification (CLS) entspricht, die die Funktionen definiert, die jede Sprache, die .NET Framework unterstützen muss. CLS-Kompatibilität wird hauptsächlich von Bedeutung für den Bibliotheksentwickler möchten, stellen Sie sicher, dass ihre Bibliotheken in einer beliebigen Sprache zugegriffen werden kann, die auf .NET Framework abzielt. Weitere Informationen finden Sie unter Sprachenunabhängigkeit und sprachunabhängige Komponenten.

Sie können Anwenden der CLSCompliantAttribute -Attribut auf die folgenden Programmelemente: Assembly, Modul, Klasse, Struktur, Enum, Konstruktor, -Methode, Eigenschaft, Feld, Ereignis, Schnittstelle, Delegaten, Parameter und Rückgabewert. Allerdings ist das Konzept der CLS-Kompatibilität nur für Assemblys, Module, Typen und Member von Typen, nicht Teil einer Signatur des Members von Bedeutung. Folglich CLSCompliantAttribute wird ignoriert, wenn auf Parameter angewendet oder Programmelemente Rückgabewert.

Wenn kein CLSCompliantAttribute auf ein Programmelement, dann wird standardmäßig angewendet wird:

  • Die Assembly ist nicht CLS-kompatibel.

  • Der Typ ist CLS-kompatibel, nur dann, wenn der einschließenden Typ oder die Assembly CLS-kompatibel ist.

  • Die Member eines Typs ist CLS-kompatibel, nur, wenn der Typ CLS-kompatibel ist.

Wenn eine Assembly als CLS-kompatibel gekennzeichnet ist, muss jeder öffentlich verfügbar gemachte Typ in der Assembly, die nicht CLS-kompatibel ist mit gekennzeichnet CLSCompliantAttribute mithilfe einer false Argument. Auf ähnliche Weise, wenn eine Klasse als CLS-kompatibel gekennzeichnet ist, müssen Sie einzeln alle Elemente markieren, die nicht CLS-kompatibel sind. Alle nicht kompatiblen Member müssen entsprechende CLS-kompatible Alternativen bereitzustellen.

Attribute, die Assemblys oder Module angewendet werden, müssen erfolgen, nachdem die C#- using (Imports in Visual Basic) Klauseln und vor dem Code.

Weitere Informationen zum Verwenden von Attributen finden Sie unter Erweitern von Metadaten mithilfe von Attributen.

System_CAPS_noteHinweis

Generiert der aktuellen Microsoft Visual Basic-Compiler eine Warnung CLS-Kompatibilität absichtlich nicht möchten, eine zukünftige Version des Compilers wird jedoch, dass die Warnung ausgegeben.

Das folgende Beispiel wendet eine CLSCompliantAttribute für die gesamte Assembly.

using System;
    [assembly: CLSCompliant(true)]

Die folgende Deklaration eine CLS-Kompatibilität-Warnung generiert, da der Typ UInt32 in CLS-Kompatibilität nicht angegeben ist.

public int SetValue(UInt32 value);

Wenn die Deklaration mit gekennzeichnet ist eine CLSCompliantAttribute, keine compilerwarnung oder ein Fehler wird generiert.

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

Universelle Windows-Plattform
Verfügbar seit 8
.NET Framework
Verfügbar seit 1.1
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.0
Windows Phone
Verfügbar seit 8.1

Alle öffentlichen statischen Member ( Shared in Visual Basic) dieses Typs sind threadsicher. Die Threadsicherheit für Instanzmember ist nicht garantiert.

Zurück zum Anfang
Anzeigen: