fork download
  1. using System;
  2.  
  3. namespace Articulo.CSharp.MetodosExtension
  4. {
  5. // Definición de la enumeración:
  6. public enum Notas
  7. {
  8. F = 0,
  9. D = 1,
  10. C = 2,
  11. B = 3,
  12. A = 4
  13. }
  14.  
  15. // Clase estática con métodos de extensión
  16. // para la enumeración `Notas`:
  17. public static class ExtensionesNotas
  18. {
  19. // Representa la nota mínima para pasar un examen:
  20. public static Notas NotaMinima = Notas.D;
  21.  
  22. // Determina si la nota dada para un estudiante
  23. // supera o iguala la nota mínima:
  24. public static bool Paso (this Notas nota)
  25. {
  26. return nota >= NotaMinima;
  27. }
  28. }
  29.  
  30. public sealed class EnumeracionMetodosExtension
  31. {
  32. public static void Main()
  33. {
  34. Notas nota1 = Notas.D;
  35. Notas nota2 = Notas.F;
  36. Console.WriteLine("\n¿Con la nota `D` pasa?: {0}", nota1.Paso() ? "Sí" : "No");
  37. Console.WriteLine("¿Con la nota `F` pasa?: {0}\n", nota2.Paso() ? "Sí" : "No");
  38. }
  39. }
  40. }
Success #stdin #stdout 0.02s 33888KB
stdin
Standard input is empty
stdout
¿Con la nota `D` pasa?: Sí
¿Con la nota `F` pasa?: No