War diese Seite hilfreich?
Ihr Feedback ist uns wichtig. Teilen Sie uns Ihre Meinung mit.
Weiteres Feedback?
1500 verbleibende Zeichen
CLSCompliantAttribute-Klasse
Collapse the table of content
Expand the table of content
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

CLSCompliantAttribute-Klasse

Gibt an, ob ein Programmelement mit der CLS (Common Language Specification) kompatibel ist. Die Klasse erlaubt keine Vererbung.

System.Object
  System.Attribute
    System.CLSCompliantAttribute

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

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

Der CLSCompliantAttribute-Typ macht die folgenden Member verfügbar.

  NameBeschreibung
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsCLSCompliantAttributeInitialisiert eine Instanz der CLSCompliantAttribute-Klasse mit einem booleschen Wert, der angibt, ob das angegebene Programmelement CLS-kompatibel ist.
Zum Seitenanfang

  NameBeschreibung
Öffentliche EigenschaftUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsIsCompliantRuft den booleschen Wert ab, der angibt, ob das angegebene Programmelement CLS-kompatibel ist.
Öffentliche EigenschaftTypeId Bei Implementierung in einer abgeleiteten Klasse wird ein eindeutiger Bezeichner für dieses Attribute abgerufen. (Von Attribute geerbt.)
Zum Seitenanfang

  NameBeschreibung
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsEqualsInfrastruktur. Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist. (Von Attribute geerbt.)
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsGetHashCodeGibt den Hashcode für diese Instanz zurück. (Von Attribute geerbt.)
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsGetTypeRuft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Öffentliche MethodeIsDefaultAttributeBeim Überschreiben in einer abgeleiteten Klasse wird angegeben, ob der Wert dieser Instanz der Standardwert für die abgeleitete Klasse ist. (Von Attribute geerbt.)
Öffentliche MethodeUnterstützt von XNA FrameworkMatchBeim Überschreiben in einer abgeleiteten Klasse wird ein Wert zurückgegeben, der angibt, ob diese Instanz einem bestimmten Objekt entspricht. (Von Attribute geerbt.)
Öffentliche MethodeUnterstützt von XNA FrameworkUnterstützt von Portable KlassenbibliothekUnterstützt in .NET für Windows Store-AppsToStringGibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.)
Zum Seitenanfang

  NameBeschreibung
Explizite SchnittstellenimplementierungPrivate Methode_Attribute.GetIDsOfNamesOrdnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu. (Von Attribute geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode_Attribute.GetTypeInfoRuft die Typinformationen für ein Objekt ab, mit deren Hilfe die Typinformationen für eine Schnittstelle abgerufen werden können. (Von Attribute geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode_Attribute.GetTypeInfoCountRuft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1). (Von Attribute geerbt.)
Explizite SchnittstellenimplementierungPrivate Methode_Attribute.InvokeStellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit. (Von Attribute geerbt.)
Zum Seitenanfang

Das Attribut CLSCompliantAttribute wird verwendet, um anzugeben, ob ein bestimmtes Programmelement mit der Common Language Specification (CLS) entspricht, die die Funktionen definiert, die jede Sprache, die von .NET Framework abzielt, unterstützen muss. CLS-Kompatibilität ist hauptsächlich relevant für Bibliotheksentwicklern, die sicherstellen möchten, dass die Bibliotheken in jeder Sprache verfügbar sind, die auf .NET Framework abzielt. Weitere Informationen finden Sie unter Sprachenunabhängigkeit und sprachunabhängige Komponenten.

Das CLSCompliantAttribute-Attribut kann auf die folgenden Programmelemente angewendet werden: Assembly, Modul, Klasse, Struktur, Enumeration, Konstruktor, Methode, Eigenschaft, Feld, Ereignis, Schnittstelle, Delegat, Parameter und Rückgabewert. CLS-Kompatibilität ist dabei nur für Assemblys, Module, Typen und Membertypen von Bedeutung, nicht für Teile einer Membersignatur. Deshalb wird CLSCompliantAttribute beim Anwenden auf Parameter- oder Rückgabewert-Programmelemente ignoriert.

Wenn auf ein Programmelement kein CLSCompliantAttribute angewendet wird, gelten folgende Voreinstellungen:

  • Die Assembly ist nicht CLS-kompatibel.

  • Der Typ ist nur dann CLS-kompatibel, wenn der Typ oder die Assembly, die ihn umschließen, CLS-kompatibel ist.

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

Wenn eine Assembly als CLS-kompatibel markiert wird, muss jeder öffentlich verfügbar gemachte nicht CLS-kompatible Typ unter Verwendung des false-Arguments mit CLSCompliantAttribute markiert werden. Ebenso müssen bei einer als CLS-kompatibel gekennzeichneten Klasse alle nicht CLS-kompatiblen Member einzeln markiert werden. Alle nicht kompatiblen Member müssen entsprechende CLS-kompatible Alternativen bereitstellen.

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

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

HinweisHinweis

Der aktuelle Microsoft Visual Basic-Compiler generiert bewusst keine CLS-Kompatibilitätswarnungen. Künftige Versionen des Compilers werden diese Warnung allerdings ausgeben.

Im folgenden Beispiel wird ein CLSCompliantAttribute auf eine ganze Assembly angewendet.

using System;
    [assembly: CLSCompliant(true)]

Die folgende Deklaration generiert eine CLS-Kompatibilitätswarnung, weil der Typ UInt32 nicht in der CLS definiert ist.

 public int SetValue(UInt32 value);

Wenn die Deklaration mit einem CLSCompliantAttribute markiert ist, werden keine Compilerwarnungen oder -fehler generiert.

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

.NET Framework

Unterstützt in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Portable Klassenbibliothek

Unterstützt in: Portable Klassenbibliothek

.NET für Windows Store-Apps

Unterstützt in: Windows 8

.NET für Windows Phone-Apps

Unterstützt in: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2015 Microsoft