CLSCompliantAttribute CLSCompliantAttribute CLSCompliantAttribute CLSCompliantAttribute Class

Definición

Indica si un elemento de programa cumple con Common Language Specification (CLS).Indicates whether a program element is compliant with the Common Language Specification (CLS). Esta clase no puede heredarse.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
Herencia
CLSCompliantAttributeCLSCompliantAttributeCLSCompliantAttributeCLSCompliantAttribute
Atributos

Ejemplos

El ejemplo siguiente aplica un CLSCompliantAttribute a todo el ensamblado.The following example applies a CLSCompliantAttribute to the entire assembly.

using System;  
    [assembly: CLSCompliant(true)]  

La siguiente declaración genera una advertencia de conformidad con CLS porque el tipo UInt32 no se especifica en CLS.The following declaration generates a CLS-compliance warning because the type UInt32 is not specified in the CLS.

public int SetValue(UInt32 value);  

Si la declaración se marca con un CLSCompliantAttribute, no se genera ningún error ni advertencia del compilador.If the declaration is marked with a CLSCompliantAttribute, no compiler warning or error is generated.

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

Comentarios

El CLSCompliantAttribute atributo se utiliza para indicar si un determinado elemento del programa es conforme con el Common Language Specification (CLS), que define las características que debe admitir cualquier lenguaje que tenga como destino .NET Framework.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. Conformidad con CLS es principalmente de interés para los desarrolladores de bibliotecas que desean garantizar que sus bibliotecas sean accesibles en cualquier lenguaje que tenga como destino .NET Framework.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. Para obtener más información, consulte independencia del lenguaje y componentes independientes del lenguaje.For more information, See Language Independence and Language-Independent Components.

Puede aplicar el CLSCompliantAttribute atributo a los siguientes elementos de programa: ensamblado, módulo, clase, struct, enum, constructor, método, propiedad, campo, evento, interfaz, delegado, parámetro y valor devuelto.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. Sin embargo, la noción de conformidad con CLS solo es significativa para los ensamblados, módulos, tipos y miembros de tipos, no los elementos de una firma de miembro.However, the notion of CLS compliance is only meaningful for assemblies, modules, types, and members of types, not parts of a member signature. Por lo tanto, CLSCompliantAttribute se omite cuando se aplica al parámetro o los elementos de programa de valor devuelto.Consequently, CLSCompliantAttribute is ignored when applied to parameter or return value program elements.

Si no hay ningún CLSCompliantAttribute se aplica a un elemento de programa y, después, de forma predeterminada:If no CLSCompliantAttribute is applied to a program element, then by default:

  • El ensamblado no es conforme a CLS.The assembly is not CLS-compliant.

  • El tipo es conforme a CLS sólo si el tipo envolvente o el ensamblado es conforme a CLS.The type is CLS-compliant only if its enclosing type or assembly is CLS-compliant.

  • El miembro de un tipo es conforme a CLS sólo si el tipo es conforme a CLS.The member of a type is CLS-compliant only if the type is CLS-compliant.

Si un ensamblado está marcado como conforme a CLS, cualquier tipo expuesto públicamente en el ensamblado que no es conforme a CLS debe marcarse con CLSCompliantAttribute mediante un false argumento.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. De forma similar, si una clase está marcada como conforme a CLS, debe marcar individualmente todos los miembros que no son conformes a CLS.Similarly, if a class is marked as CLS-compliant, you must individually mark all members that are not CLS-compliant. Todos los miembros no conformes deberán proporcionar alternativas conformes a CLS.All non-compliant members must provide corresponding CLS-compliant alternatives.

Atributos que se aplican a los ensamblados o los módulos deben ser posterior a la de C# using (Imports en Visual Basic) las cláusulas y antes del código.Attributes that are applied to assemblies or modules must occur after the C# using (Imports in Visual Basic) clauses and before the code.

Para obtener más información sobre el uso de atributos, vea atributos.For more information about using attributes, see Attributes.

Nota

El compilador de Microsoft Visual Basic actual intencionadamente no genera una advertencia de conformidad con CLS, sin embargo, una versión futura del compilador emitirá el aviso.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.

Constructores

CLSCompliantAttribute(Boolean) CLSCompliantAttribute(Boolean) CLSCompliantAttribute(Boolean) CLSCompliantAttribute(Boolean)

Inicializa una instancia de la clase CLSCompliantAttribute con un valor Boolean que indica si el elemento de programa especificado es conforme a CLS.Initializes an instance of the CLSCompliantAttribute class with a Boolean value indicating whether the indicated program element is CLS-compliant.

Propiedades

IsCompliant IsCompliant IsCompliant IsCompliant

Obtiene el valor Boolean que indica si el elemento de programa especificado es conforme a CLS.Gets the Boolean value indicating whether the indicated program element is CLS-compliant.

TypeId TypeId TypeId TypeId

Cuando se implementa en una clase derivada, obtiene un identificador único para este Attribute.When implemented in a derived class, gets a unique identifier for this Attribute.

(Inherited from Attribute)

Métodos

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Devuelve un valor que indica si esta instancia es igual que un objeto especificado.Returns a value that indicates whether this instance is equal to a specified object.

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

Devuelve el código hash de esta instancia.Returns the hash code for this instance.

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

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Inherited from Object)
IsDefaultAttribute() IsDefaultAttribute() IsDefaultAttribute() IsDefaultAttribute()

Si se reemplaza en una clase derivada, indica si el valor de esta instancia es el valor predeterminado de la clase derivada.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)

Cuando se invalida en una clase derivada, devuelve un valor que indica si esta instancia es igual a un objeto especificado.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()

Crea una copia superficial del objeto Object actual.Creates a shallow copy of the current Object.

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

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Inherited from Object)

Implementaciones de interfaz explícitas

_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)

Asigna un conjunto de nombres a un conjunto correspondiente de identificadores de envío.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)

Obtiene la información de tipos de un objeto, que puede utilizarse para obtener la información de tipos de una interfaz.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)

Recupera el número de interfaces de información de tipo que proporciona un objeto (0 ó 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)

Proporciona acceso a las propiedades y los métodos expuestos por un objeto.Provides access to properties and methods exposed by an object.

(Inherited from Attribute)

Se aplica a

Consulte también: