using System; namespace Articulo.CSharp.MetodosExtension { // Definición de la enumeración: public enum Notas { F = 0, D = 1, C = 2, B = 3, A = 4 } // Clase estática con métodos de extensión // para la enumeración `Notas`: public static class ExtensionesNotas { // Representa la nota mínima para pasar un examen: public static Notas NotaMinima = Notas.D; // Determina si la nota dada para un estudiante // supera o iguala la nota mínima: public static bool Paso (this Notas nota) { return nota >= NotaMinima; } } public sealed class EnumeracionMetodosExtension { public static void Main() { Notas nota1 = Notas.D; Notas nota2 = Notas.F; Console.WriteLine("\n¿Con la nota `D` pasa?: {0}", nota1.Paso() ? "Sí" : "No"); Console.WriteLine("¿Con la nota `F` pasa?: {0}\n", nota2.Paso() ? "Sí" : "No"); } } }