Usando atributos (guia de programação translation from VPE for Csharp)
Atributos podem ser colocados em qualquer declaração, embora um atributo específico pode restringir os tipos de declarações no qual ele é válido.Sintaticamente, um atributo é especificado pelo colocando o nome do atributo, entre colchetes, na frente da declaração da entidade a que ele se aplica.Por exemplo, um método com o atributo DllImport é declarado como este:
[System.Runtime.InteropServices.DllImport("user32.dll")]
extern static void SampleMethod();
Para obter mais informações, consulte Classe DllImportAttribute.
Muitos atributos têm parâmetros, que podem ser posicional, sem nome ou nomeado.Parâmetros de posição devem ser especificados em uma determinada ordem e não podem ser omitidos; parâmetros nomeados são opcionais e podem ser especificados em qualquer ordem.Parâmetros de posição é especificada pela primeira vez.Por exemplo, esses três atributos são equivalentes:
[DllImport("user32.dll")]
[DllImport("user32.dll", SetLastError=false, ExactSpelling=false)]
[DllImport("user32.dll", ExactSpelling=false, SetLastError=false)]
O primeiro parâmetro, o nome da DLL é posicional e sempre vem em primeiro lugar; as outras são nomeadas.Nesse caso, ambos chamados padrão de parâmetros como false, para que possa ser omitidos.Consulte a documentação do atributo individual para obter informações sobre valores de parâmetro padrão.
Mais de um atributo pode ser colocado em uma declaração separadamente ou dentro do mesmo conjunto de colchetes:
void MethodA([In][Out] ref double x) { }
void MethodB([Out][In] ref double x) { }
void MethodC([In, Out] ref double x) { }
Alguns atributos podem ser especificados mais de uma vez para uma determinada entidade.Um exemplo de um atributo multiuse é Condicional:
[Conditional("DEBUG"), Conditional("TEST1")]
void TraceMethod()
{
// ...
}
Observação: |
---|
Por convenção, todos os nomes de atributo terminam com a palavra "Atributo" para diferenciá-los de outros itens no .NET estrutura.No entanto, você não precisa especificar o sufixo de atributo ao usar atributos no código.Por exemplo, [DllImport] é equivalente a [DllImportAttribute], mas DllImportAttribute é nome real o atributo do .NET estrutura. |
Consulte também
Conceitos
Referência
Reflexo (guia de programação C#)
Atributos (guia de programação C#)
Destinos de atributo disambiguating (guia de programação translation from VPE for Csharp)
Criando atributos personalizados (guia de programação translation from VPE for Csharp)