Skip to content

Instantly share code, notes, and snippets.

@Fhernd
Created September 30, 2014 03:44
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Fhernd/0ada74ba7c9640575d24 to your computer and use it in GitHub Desktop.
Save Fhernd/0ada74ba7c9640575d24 to your computer and use it in GitHub Desktop.
Método de extensión para una enumeración.
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");
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment