CLSCompliantAttribute Osztály

Definíció

Azt jelzi, hogy egy programelem megfelel-e a Common Language Specification (CLS) szabványnak. Ez az osztály nem örökölhető.

public ref class CLSCompliantAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.All, AllowMultiple=false, Inherited=true)]
public sealed class CLSCompliantAttribute : Attribute
[System.AttributeUsage(System.AttributeTargets.All, AllowMultiple=false, Inherited=true)]
[System.Serializable]
public sealed class CLSCompliantAttribute : Attribute
[System.AttributeUsage(System.AttributeTargets.All, AllowMultiple=false, Inherited=true)]
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class CLSCompliantAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.All, AllowMultiple=false, Inherited=true)>]
type CLSCompliantAttribute = class
    inherit Attribute
[<System.AttributeUsage(System.AttributeTargets.All, AllowMultiple=false, Inherited=true)>]
[<System.Serializable>]
type CLSCompliantAttribute = class
    inherit Attribute
[<System.AttributeUsage(System.AttributeTargets.All, AllowMultiple=false, Inherited=true)>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type CLSCompliantAttribute = class
    inherit Attribute
Public NotInheritable Class CLSCompliantAttribute
Inherits Attribute
Öröklődés
CLSCompliantAttribute
Attribútumok

Példák

Az alábbi példa a teljes szerelvényre vonatkozik CLSCompliantAttribute .

using System;
    [assembly: CLSCompliant(true)]

A következő deklaráció egy CLS-megfelelőségi figyelmeztetést generál, mert a típus UInt32 nincs megadva a CLS-ben.

public int SetValue(UInt32 value);

Ha a deklaráció meg van jelölve, CLSCompliantAttributea rendszer nem hoz létre fordítói figyelmeztetést vagy hibát.

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

Megjegyzések

A CLSCompliantAttribute attribútum azt jelzi, hogy egy adott programelem megfelel-e a Common Language Specification (CLS) szabványnak, amely meghatározza azokat a funkciókat, amelyeket az .NET célnyelvnek támogatnia kell. A CLS-megfelelőség elsősorban a könyvtárfejlesztők számára fontos, akik biztosítani szeretnék, hogy a kódtárak minden olyan nyelven elérhetők legyenek, amely .NET cél. További információ: Language Independence and Language-Independent Components.

Az attribútumot a CLSCompliantAttribute következő programelemekre alkalmazhatja: szerelvény, modul, osztály, struct, enum, konstruktor, metódus, tulajdonság, mező, esemény, felület, delegálás, paraméter és visszatérési érték. A CLS-megfelelőség fogalma azonban csak a szerelvények, modulok, típusok és típusok tagjai számára értelmezhető, nem pedig a tagok aláírásának részeire. Ennek következtében CLSCompliantAttribute a paraméter- vagy visszatérési érték program elemeire alkalmazva a rendszer figyelmen kívül hagyja.

Ha egy programelemre nincs CLSCompliantAttribute alkalmazva, akkor alapértelmezés szerint:

  • A szerelvény nem CLS-kompatibilis.

  • A típus csak akkor felel meg a CLS-kompatibilis típusnak, ha annak belefoglaló típusa vagy szerelvénye CLS-kompatibilis.

  • Egy típus tagja csak akkor felel meg a CLS-kompatibilisnek, ha a típus CLS-kompatibilis.

Ha egy szerelvény CLS-kompatibilisként van megjelölve, a szerelvény bármely nyilvánosan közzétett típusát, amely nem CLS-kompatibilis, argumentummal CLSCompliantAttributefalse kell megjelölni. Hasonlóképpen, ha egy osztály CLS-kompatibilisként van megjelölve, külön-külön meg kell jelölnie az összes nem CLS-kompatibilis tagot. Minden nem megfelelő tagnak megfelelő CLS-kompatibilis alternatívát kell biztosítania.

A szerelvényekre vagy modulokra alkalmazott attribútumoknak a C# using (Imports Visual Basic) záradékok után és a kód előtt kell történnie.

Az attribútumok használatáról további információt az Attribútumok című témakörben talál.

Note

A jelenlegi Microsoft Visual Basic fordító szándékosan nem hoz létre CLS-megfelelőségi figyelmeztetést, a fordító későbbi kiadása azonban kiadja ezt a figyelmeztetést.

Konstruktorok

Name Description
CLSCompliantAttribute(Boolean)

Inicializálja az CLSCompliantAttribute osztály egy példányát logikai értékkel, amely jelzi, hogy a megadott programelem CLS-kompatibilis-e.

Tulajdonságok

Name Description
IsCompliant

Lekéri a logikai értéket, amely jelzi, hogy a megadott programelem CLS-kompatibilis-e.

TypeId

Ha származtatott osztályban implementálják, ehhez egy egyedi azonosítót Attributekap.

(Öröklődés forrása Attribute)

Metódusok

Name Description
Equals(Object)

Olyan értéket ad vissza, amely jelzi, hogy ez a példány egyenlő-e egy adott objektummal.

(Öröklődés forrása Attribute)
GetHashCode()

A példány kivonatkódját adja vissza.

(Öröklődés forrása Attribute)
GetType()

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
IsDefaultAttribute()

Ha egy származtatott osztályban felül van bírálva, azt jelzi, hogy a példány értéke-e a származtatott osztály alapértelmezett értéke.

(Öröklődés forrása Attribute)
Match(Object)

Származtatott osztály felülírásakor egy olyan értéket ad vissza, amely jelzi, hogy ez a példány egy adott objektummal egyenlő-e.

(Öröklődés forrása Attribute)
MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
ToString()

Az aktuális objektumot jelképező sztringet ad vissza.

(Öröklődés forrása Object)

Explicit interfész-implementációk

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

Névkészletet képez le a küldési azonosítók megfelelő készletére.

(Öröklődés forrása Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Lekéri egy objektum típusadatait, amelyek a felület típusadatainak lekérésére használhatók.

(Öröklődés forrása Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Lekéri az objektumok által biztosított típusinformációs felületek számát (0 vagy 1).

(Öröklődés forrása Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Hozzáférést biztosít az objektumok által közzétett tulajdonságokhoz és metódusokhoz.

(Öröklődés forrása Attribute)

A következőre érvényes:

Lásd még