Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- namespace Recetas.Cap03
- {
- [AttributeUsage(AttributeTargets.Class | AttributeTargets.Assembly,
- AllowMultiple = true, Inherited = false)]
- public class AutorAttribute : Attribute
- {
- private string organizacion;
- private string nombre;
- // Constructor público:
- public AutorAttribute (string nombre)
- {
- this.nombre = nombre;
- organizacion = String.Empty;
- }
- // Accede y modifica el nombre de la organización:
- public string Organizacion
- {
- get
- {
- return organizacion;
- }
- set
- {
- organizacion = value;
- }
- }
- // Propiedad de sólo lectura (campo opcional):
- public string Nombre
- {
- get
- {
- return nombre;
- }
- }
- }
- [AutorAttribute("Edward")]
- [AutorAttribute("Germán", Organizacion = "OrtizOL")]
- public class Reporte { }
- public sealed class ConsultaAutorAttribute
- {
- public static void Main()
- {
- // Obtención del tipo:
- Type tipo = typeof (Reporte);
- // Recuperación arreglo con los atributos aplicados a `Reporte`:
- object[] atributos = tipo.GetCustomAttributes(typeof(AutorAttribute), true);
- // Enumera los atributos aplicados a `Reporte`:
- foreach (AutorAttribute atributo in atributos)
- {
- Console.WriteLine ("Nombre: {0} - Organización: {1}", atributo.Nombre, atributo.Organizacion);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement