CLSCompliantAttribute Sınıf

Tanım

Program öğesinin ortak dil belirtimi (CLS) ile uyumlu olup olmadığını gösterir.Indicates whether a program element is compliant with the Common Language Specification (CLS). Bu sınıf devralınamaz.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
Devralma
CLSCompliantAttribute
Öznitelikler

Örnekler

Aşağıdaki örnek, tüm derleme için bir CLSCompliantAttribute uygular.The following example applies a CLSCompliantAttribute to the entire assembly.

using System;  
    [assembly: CLSCompliant(true)]  

UInt32 türü CLS 'de belirtilmediğinden, aşağıdaki bildirim CLS uyumluluk uyarısını üretir.The following declaration generates a CLS-compliance warning because the type UInt32 is not specified in the CLS.

public int SetValue(UInt32 value);  

Bildirim bir CLSCompliantAttributeile işaretlenmişse, hiçbir derleyici uyarısı veya hatası oluşturulmaz.If the declaration is marked with a CLSCompliantAttribute, no compiler warning or error is generated.

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

Açıklamalar

CLSCompliantAttribute özniteliği, belirli bir program öğesinin ortak dil belirtimi (CLS) ile uyumlu olup olmadığını belirtmek için kullanılır ve bu, .NET Framework hedefleyen herhangi bir dilin desteklemesi gereken özellikleri tanımlar.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 uyumluluğu öncelikle, kitaplıklarını .NET Framework hedefleyen herhangi bir dilde erişilebilir olmasını sağlamak isteyen kitaplık geliştiricileri açısından önemli bir konudur.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. Daha fazla bilgi için bkz. Dil bağımsızlığı ve dilden bağımsız bileşenler.For more information, See Language Independence and Language-Independent Components.

CLSCompliantAttribute özniteliğini şu program öğelerine uygulayabilirsiniz: Assembly, Module, Class, struct, Enum, constructor, Method, Property, Field, event, Interface, Delegate, Parameter ve Return value.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. Ancak, CLS uyumluluğu kavramı, bir üye imzasının parçalarını değil, yalnızca derlemeler, modüller, türler ve tür üyeleri için anlamlıdır.However, the notion of CLS compliance is only meaningful for assemblies, modules, types, and members of types, not parts of a member signature. Sonuç olarak, parametre veya dönüş değeri program öğelerine uygulandığında CLSCompliantAttribute yok sayılır.Consequently, CLSCompliantAttribute is ignored when applied to parameter or return value program elements.

Bir program öğesine CLSCompliantAttribute uygulanmadığından, varsayılan olarak:If no CLSCompliantAttribute is applied to a program element, then by default:

  • Derleme CLS uyumlu değil.The assembly is not CLS-compliant.

  • Tür, yalnızca kapsayan türü veya derlemesi CLS uyumluysa, CLS uyumludur.The type is CLS-compliant only if its enclosing type or assembly is CLS-compliant.

  • Türün üyesi, yalnızca tür CLS uyumluysa CLS uyumludur.The member of a type is CLS-compliant only if the type is CLS-compliant.

Bir derleme CLS uyumlu olarak işaretlenmişse, derlemede CLS uyumlu olmayan genel kullanıma açık bir tür, false bağımsız değişken kullanılarak CLSCompliantAttribute işaretlenmelidir.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. Benzer şekilde, bir sınıf CLS uyumlu olarak işaretlenmişse, CLS uyumlu olmayan tüm üyeleri tek tek işaretlemeniz gerekir.Similarly, if a class is marked as CLS-compliant, you must individually mark all members that are not CLS-compliant. Uyumlu olmayan tüm üyelerin karşılık gelen CLS uyumlu alternatifleri sağlaması gerekir.All non-compliant members must provide corresponding CLS-compliant alternatives.

Derlemelere veya modüllere uygulanan öznitelikler, C# using (Imports Visual Basic) yan tümcelerinden sonra ve koddan önce gerçekleşmelidir.Attributes that are applied to assemblies or modules must occur after the C# using (Imports in Visual Basic) clauses and before the code.

Öznitelikleri kullanma hakkında daha fazla bilgi için bkz. öznitelikler.For more information about using attributes, see Attributes.

Not

Geçerli Microsoft Visual Basic Derleyicisi kasıtlı olarak CLS uyumluluğu uyarısı oluşturmaz, ancak derleyicinin Gelecekteki bir sürümü bu uyarıyı oluşturacaktır.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.

Oluşturucular

CLSCompliantAttribute(Boolean)

Belirtilen program öğesinin CLS uyumlu olup olmadığını gösteren bir Boolean değeri olan CLSCompliantAttribute sınıfının bir örneğini başlatır.Initializes an instance of the CLSCompliantAttribute class with a Boolean value indicating whether the indicated program element is CLS-compliant.

Özellikler

IsCompliant

Belirtilen program öğesinin CLS uyumlu olup olmadığını gösteren Boole değeri alır.Gets the Boolean value indicating whether the indicated program element is CLS-compliant.

TypeId

Türetilmiş bir sınıfta uygulandığında, bu Attributeiçin benzersiz bir tanımlayıcı alır.When implemented in a derived class, gets a unique identifier for this Attribute.

(Devralındığı yer: Attribute)

Yöntemler

Equals(Object)

Bu örneğin belirtilen bir nesneye eşit olup olmadığını gösteren bir değeri döndürür.Returns a value that indicates whether this instance is equal to a specified object.

(Devralındığı yer: Attribute)
GetHashCode()

Bu örneğin karma kodunu döndürür.Returns the hash code for this instance.

(Devralındığı yer: Attribute)
GetType()

Gets the Type of the current instance.Gets the Type of the current instance.

(Devralındığı yer: Object)
IsDefaultAttribute()

Türetilmiş bir sınıfta geçersiz kılınırsa, bu örneğin değerinin türetilmiş sınıf için varsayılan değer olup olmadığını gösterir.When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(Devralındığı yer: Attribute)
Match(Object)

Türetilmiş bir sınıfta geçersiz kılınırsa, bu örneğin belirtilen bir nesneye eşit olup olmadığını gösteren bir değer döndürür.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Devralındığı yer: Attribute)
MemberwiseClone()

Creates a shallow copy of the current Object.Creates a shallow copy of the current Object.

(Devralındığı yer: Object)
ToString()

Geçerli nesneyi temsil eden bir dize döndürür.Returns a string that represents the current object.

(Devralındığı yer: Object)

Belirtik Arabirim Kullanımları

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

Bir ad kümesini karşılık gelen bir dağıtma tanımlayıcısı kümesine eşler.Maps a set of names to a corresponding set of dispatch identifiers.

(Devralındığı yer: Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Bir arabirimin tür bilgilerini almak için kullanılabilen bir nesnenin tür bilgilerini alır.Retrieves the type information for an object, which can be used to get the type information for an interface.

(Devralındığı yer: Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Bir nesnenin sağladığı tür bilgisi arabirimlerinin sayısını alır (0 ya da 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Devralındığı yer: Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Bir nesne tarafından sunulan özelliklere ve yöntemlere erişim sağlar.Provides access to properties and methods exposed by an object.

(Devralındığı yer: Attribute)

Şunlara uygulanır

Ayrıca bkz.