Eventos
Compilación de Intelligent Apps
17 mar, 23 - 21 mar, 23
Únase a la serie de reuniones para crear soluciones de inteligencia artificial escalables basadas en casos de uso reales con compañeros desarrolladores y expertos.
Regístrese ahoraEste explorador ya no se admite.
Actualice a Microsoft Edge para aprovechar las características y actualizaciones de seguridad más recientes, y disponer de soporte técnico.
Para crear sus propios atributos personalizados, defina una clase de atributo derivada directa o indirectamente de Attribute, que agiliza y facilita la identificación de las definiciones de atributos en los metadatos. Imagínese que desea etiquetar tipos con el nombre del programador que los escribió. Puede definir una clase de atributos Author
personalizada:
[System.AttributeUsage(System.AttributeTargets.Class |
System.AttributeTargets.Struct)
]
public class AuthorAttribute : System.Attribute
{
private string Name;
public double Version;
public AuthorAttribute(string name)
{
Name = name;
Version = 1.0;
}
}
El nombre de la clase AuthorAttribute
es el nombre del atributo, Author
, al que se le agrega el sufijo Attribute
. Se deriva de System.Attribute
, por lo que es una clase de atributo personalizada. Los parámetros del constructor son los parámetros posicionales del atributo personalizado. En este ejemplo, name
es un parámetro posicional. Las propiedades o los campos públicos de lectura y escritura son parámetros con nombre. En este caso, version
es el único parámetro con nombre. Observe el uso del atributo AttributeUsage
para hacer que el atributo Author
sea válido solo en las declaraciones de clase y de struct
.
Puede usar este nuevo atributo de la siguiente manera:
[Author("P. Ackerman", Version = 1.1)]
class SampleClass
{
// P. Ackerman's code goes here...
}
AttributeUsage
tiene un parámetro con nombre, AllowMultiple
, con el que puede hacer que un atributo personalizado sea multiuso o de un solo uso. En el ejemplo de código siguiente se crea un atributo multiuso.
[System.AttributeUsage(System.AttributeTargets.Class |
System.AttributeTargets.Struct,
AllowMultiple = true) // Multiuse attribute.
]
public class AuthorAttribute : System.Attribute
{
string Name;
public double Version;
public AuthorAttribute(string name)
{
Name = name;
// Default value.
Version = 1.0;
}
public string GetName() => Name;
}
En el ejemplo de código siguiente se aplican varios atributos del mismo tipo a una clase.
[Author("P. Ackerman"), Author("R. Koch", Version = 2.0)]
public class ThirdClass
{
// ...
}
Comentarios de .NET
.NET es un proyecto de código abierto. Seleccione un vínculo para proporcionar comentarios:
Eventos
Compilación de Intelligent Apps
17 mar, 23 - 21 mar, 23
Únase a la serie de reuniones para crear soluciones de inteligencia artificial escalables basadas en casos de uso reales con compañeros desarrolladores y expertos.
Regístrese ahoraCursos
Módulo
Get started with classes and objects in C# - Training
Learn how to create classes and instantiate objects that expose encapsulated field data by using class definitions, constructors, and the 'new' operator.
Documentación
Tutorial: Definición y lectura de atributos personalizados. - C#
Aprenda cómo funcionan los atributos en C#. Los atributos personalizados se definen para agregar metadatos al código. Puede leer esos atributos para obtener información sobre el código en tiempo de ejecución
Acceso a atributos mediante reflexión - C#
Use la reflexión para obtener información definida con atributos personalizados en C# mediante el método GetCustomAttributes.
Aprenda sobre la aplicación de atributos a tipos genéricos. Vea ejemplos de código y consulte más recursos disponibles.