Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Clase CLSCompliantAttribute

 

Publicado: noviembre de 2016

Indica si un elemento de programa cumple con Common Language Specification (CLS). Esta clase no puede heredarse.

Espacio de nombres:   System
Ensamblado:  mscorlib (en mscorlib.dll)

System.Object
  System.Attribute
    System.CLSCompliantAttribute

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

NombreDescripción
System_CAPS_pubmethodCLSCompliantAttribute(Boolean)

Inicializa una instancia de la CLSCompliantAttribute clase con un valor booleano que indica si el elemento de programa especificado es conforme a CLS.

NombreDescripción
System_CAPS_pubpropertyIsCompliant

Obtiene el valor booleano que indica si el elemento de programa especificado es conforme a CLS.

System_CAPS_pubpropertyTypeId

Cuando se implementa en una clase derivada, obtiene un identificador único para este Attribute.(Heredado de Attribute).

NombreDescripción
System_CAPS_pubmethodEquals(Object)

Esta API admite la infraestructura producto y no está diseñada para usarse directamente desde el código. Devuelve un valor que indica si esta instancia equivale al objeto especificado. (Heredado de Attribute).

System_CAPS_pubmethodGetHashCode()

Devuelve el código hash de esta instancia.(Heredado de Attribute).

System_CAPS_pubmethodGetType()

Obtiene el Type de la instancia actual.(Heredado de Object).

System_CAPS_pubmethodIsDefaultAttribute()

Si se reemplaza en una clase derivada, indica si el valor de esta instancia es el valor predeterminado de la clase derivada.(Heredado de Attribute).

System_CAPS_pubmethodMatch(Object)

Cuando se invalida en una clase derivada, devuelve un valor que indica si esta instancia es igual al objeto especificado. (Heredado de Attribute).

System_CAPS_pubmethodToString()

Devuelve una cadena que representa al objeto actual. (Heredado de Object).

NombreDescripción
System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Asigna un conjunto de nombres a un conjunto correspondiente de identificadores de envío.(Heredado de Attribute).

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Obtiene la información del tipo de un objeto, que puede utilizarse para obtener la información del tipo de una interfaz. (Heredado de Attribute).

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.GetTypeInfoCount(UInt32)

Recupera el número de interfaces de tipo de información que suministra un objeto (0 ó 1)

(Heredado de Attribute).

System_CAPS_pubinterfaceSystem_CAPS_privmethod_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Proporciona acceso a las propiedades y los métodos expuestos por un objeto.(Heredado de Attribute).

El CLSCompliantAttribute atributo se utiliza para indicar si un determinado elemento del programa cumple con el Common Language Specification (CLS), que define las características que debe admitir cualquier lenguaje que tenga como destino .NET Framework. Conformidad con CLS es especialmente importante para los desarrolladores de biblioteca que desee asegurarse de que sus bibliotecas son accesibles en cualquier lenguaje que tenga como destino .NET Framework. Para obtener más información, vea Independencia del lenguaje y componentes independientes del lenguaje.

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. Sin embargo, la noción de conformidad con CLS solo es significativa para ensamblados, módulos, tipos y miembros de tipos, no para los elementos de una firma de miembro. Por lo tanto, CLSCompliantAttribute se omite cuando se aplica al parámetro o valor devuelto elementos del programa.

Si no hay ningún CLSCompliantAttribute se aplica a un elemento de programa, a continuación, de forma predeterminada:

  • El ensamblado no es conforme a CLS.

  • El tipo es conforme a CLS solo si su tipo envolvente o el ensamblado es conforme a CLS.

  • El miembro de un tipo es conforme a CLS sólo si el tipo es conforme a CLS.

Si un ensamblado está marcado como conforme a CLS, cualquier tipo expuesto públicamente del ensamblado que no es conforme a CLS debe marcarse con CLSCompliantAttribute mediante un false argumento. De forma similar, si una clase se marca como conforme a CLS, deberá marcar cada todos los miembros que no son conformes a CLS. Todos los miembros no conformes deberán proporcionar alternativas conformes a CLS.

Atributos que se aplican a los ensamblados o módulos deben ser posterior a la de C# using (Imports en Visual Basic) cláusulas y antes del código.

Para obtener más información sobre el uso de atributos, vea Extender metadatos mediante atributos.

System_CAPS_noteNota

El compilador actual de Microsoft Visual Basic no genera intencionalmente una advertencia de conformidad con CLS, sin embargo, una versión futura del compilador emitirá el aviso.

El ejemplo siguiente aplica un CLSCompliantAttribute a todo el ensamblado.

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.

public int SetValue(UInt32 value);

Si la declaración se marca con un CLSCompliantAttribute, no se genera ningún error ni advertencia de compilador.

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

Plataforma universal de Windows
Disponible desde 8
.NET Framework
Disponible desde 1.1
Biblioteca de clases portable
Se admite en: plataformas portátiles de .NET
Silverlight
Disponible desde 2.0
Windows Phone Silverlight
Disponible desde 7.0
Windows Phone
Disponible desde 8.1

Cualquier miembro ( Compartido en Visual Basic) estático público de este tipo es seguro para subprocesos. No se garantiza que los miembros de instancia sean seguros para subprocesos.

Volver al principio
Mostrar: