CLSCompliantAttribute Classe

Definição

Indica se um elemento do programa está em conformidade com a Especificação de Linguagem Comum (CLS). Esta classe não pode ser herdada.

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
Herança
CLSCompliantAttribute
Atributos

Exemplos

O exemplo seguinte aplica-se a CLSCompliantAttribute a todo o conjunto.

using System;
    [assembly: CLSCompliant(true)]

A seguinte declaração gera um aviso de conformidade com CLS porque o tipo UInt32 não está especificado no CLS.

public int SetValue(UInt32 value);

Se a declaração estiver marcada com um CLSCompliantAttribute, não é gerado nenhum aviso ou erro do compilador.

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

Observações

O atributo CLSCompliantAttribute é usado para indicar se um determinado elemento do programa cumpre a Especificação Comum da Linguagem (CLS), que define as funcionalidades que qualquer linguagem que .NET alvo deve suportar. A conformidade com o CLS é principalmente uma preocupação para os programadores de bibliotecas que querem garantir que as suas bibliotecas são acessíveis em qualquer linguagem que tenha como alvo o .NET. Para mais informações, consulte Independência da Língua e Language-Independent Componentes.

Pode aplicar o CLSCompliantAttribute atributo aos seguintes elementos do programa: assembly, module, class, struct, enum, constructor, method, property, field, event, interface, delegate, parameter e return value. No entanto, a noção de conformidade com CLS só tem significado para assemblies, módulos, tipos e membros de tipos, não para partes de uma assinatura de membro. Consequentemente, CLSCompliantAttribute é ignorado quando aplicado a elementos de parâmetro ou valor de retorno do programa.

Se não CLSCompliantAttribute for aplicado a um elemento do programa, então por defeito:

  • O conjunto não é compatível com CLS.

  • O tipo é compatível com CLS apenas se o seu tipo ou conjunto envolvente for compatível com CLS.

  • O elemento de um tipo é compatível com CLS apenas se o tipo for compatível com CLS.

Se um conjunto for marcado como compatível com CLS, qualquer tipo exposto publicamente no conjunto que não seja compatível com CLS deve ser marcado usando CLSCompliantAttribute um false argumento. De forma semelhante, se uma classe for marcada como compatível com CLS, deve marcar individualmente todos os membros que não são compatíveis com CLS. Todos os membros não conformes devem fornecer alternativas correspondentes compatíveis com CLS.

Os atributos aplicados a assemblies ou módulos devem ocorrer após as cláusulas C# using (Imports em Visual Basic) e antes do código.

Para mais informações sobre o uso de atributos, consulte Atributos.

Note

O compilador Microsoft Visual Basic atual não gera intencionalmente um aviso de conformidade com CLS, no entanto, uma versão futura do compilador emitirá esse aviso.

Construtores

Name Description
CLSCompliantAttribute(Boolean)

Inicializa uma instância da CLSCompliantAttribute classe com um valor booleano que indica se o elemento do programa indicado é compatível com CLS.

Propriedades

Name Description
IsCompliant

Obtém o valor booleano que indica se o elemento do programa indicado é compatível com CLS.

TypeId

Quando implementado numa classe derivada, obtém um identificador único para esta Attribute.

(Herdado de Attribute)

Métodos

Name Description
Equals(Object)

Devolve um valor que indica se esta instância é igual a um objeto especificado.

(Herdado de Attribute)
GetHashCode()

Devolve o código de hash para esta instância.

(Herdado de Attribute)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
IsDefaultAttribute()

Quando sobrescrito numa classe derivada, indica se o valor desta instância é o valor padrão para a classe derivada.

(Herdado de Attribute)
Match(Object)

Quando sobrescrito numa classe derivada, devolve um valor que indica se esta instância é igual a um objeto especificado.

(Herdado de Attribute)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Implementações de Interface Explícita

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

Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de despacho.

(Herdado de Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera a informação de tipo de um objeto, que pode ser usada para obter a informação de tipo para uma interface.

(Herdado de Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Recupera o número de interfaces de informações de tipo que um objeto fornece (0 ou 1).

(Herdado de Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Proporciona acesso a propriedades e métodos expostos por um objeto.

(Herdado de Attribute)

Aplica-se a

Ver também