Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Reflection;
- namespace Recetas.Cap03
- {
- public class ObsoletoAttribute : Attribute
- {
- public string descripcion;
- public ObsoletoAttribute(string descripcion)
- {
- this.descripcion = descripcion;
- }
- }
- public class ClaseEjemplo
- {
- // Aplicación del atributo `Obsolete` a un método:
- [ObsoletoAttribute("Este método ha sido marcado como obsolete. Use el método `Metodo2`.")]
- public void Metodo1() { }
- public void Metodo2() { }
- }
- public sealed class Aplicacion
- {
- public static void Main()
- {
- // Obtenemos la representación `Type` de `ClaseEjemplo`:
- Type tipo = typeof (ClaseEjemplo);
- // Creamos una instancia de `MethodInfo` para representar
- // el objeto `Metodo1`:
- MethodInfo infoMetodo = tipo.GetMethod("Metodo1");
- // Investiga si el método `Metodo1` ha sido marcado
- // con el atributo `ObsoleteAttribute`:
- bool marcadoObsoleto = Attribute.IsDefined(infoMetodo, typeof (ObsoletoAttribute));
- // Resultado:
- Console.WriteLine ("\nEl atributo `ObsoletoAttribute` {0} aplicado para el método `{1}` de la clase `{2}`.\n",
- marcadoObsoleto ? "está" : "no está", infoMetodo.Name.ToString(), tipo.Name.ToString());
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement