CLSCompliantAttribute Clase

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
CLSCompliantAttribute
Atributos

Ejemplos

CLSCompliantAttribute En el ejemplo siguiente se aplica 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 UInt32 tipo 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 está marcada con un CLSCompliantAttribute, no se genera ninguna advertencia ni error 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 usa para indicar si un determinado elemento del programa cumple con el Common Language Specification (CLS), que define las características que cualquier lenguaje que tenga como destino el .NET Framework debe admitir.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. La conformidad con CLS es principalmente importante para los desarrolladores de bibliotecas que desean asegurarse de que se pueda acceder a sus bibliotecas en cualquier lenguaje que tenga como destino el .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 elementos de programa siguientes: ensamblado, módulo, clase, estructura, enumeración, 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 partes 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 consiguiente, CLSCompliantAttribute se omite cuando se aplica a los elementos de programa de parámetros o valores devueltos.Consequently, CLSCompliantAttribute is ignored when applied to parameter or return value program elements.

Si no CLSCompliantAttribute se aplica ningún elemento de programa, 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 solo si su tipo o ensamblado envolvente 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 solo 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 se marca como conforme a CLS, cualquier tipo expuesto públicamente en el ensamblado que no sea conforme a CLS se CLSCompliantAttribute debe marcar false con un 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. Del mismo modo, si una clase se marca como conforme a CLS, debe marcar individualmente todos los miembros que no sean 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 deben proporcionar las alternativas conformes a CLS correspondientes.All non-compliant members must provide corresponding CLS-compliant alternatives.

Los atributos que se aplican a los ensamblados o módulos C# using debenImports aparecer después de las cláusulas (in Visual Basic) 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 no genera de forma intencionada una advertencia de conformidad con CLS; sin embargo, una versión futura del compilador emitirá esa advertencia.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)

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

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

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.

(Heredado de Attribute)

Métodos

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.

(Heredado de Attribute)
GetHashCode()

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

(Heredado de Attribute)
GetType()

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

(Heredado de Object)
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.

(Heredado de Attribute)
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.

(Heredado de Attribute)
MemberwiseClone()

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

(Heredado de Object)
ToString()

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

(Heredado de Object)

Implementaciones de interfaz explícitas

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

(Heredado de Attribute)
_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.

(Heredado de Attribute)
_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).

(Heredado de Attribute)
_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.

(Heredado de Attribute)

Se aplica a

Consulte también: