Nous avons vu la dernière fois comment utiliser les Enums à choix multiples. En partant du même principe qui consiste à étendre les Enum par des extensions methods, je vous propose aujourd’hui d’ajouter une méthode random. En effet, cela peut être utile parfois sur certains types de listes mais aussi dans un contexte de tests, si vous voulez injecter beaucoups d’objets avec des paramètres enums qui changent un peu, avoir un petit random automatique peut être pratique…
///
/// Get a random value on an enum list type
///
/// the enum type
/// the enum to extend
/// an enum value
public static T Random(this Enum en)
{
string[] names = Enum.GetNames(typeof(T));
Random r = new Random(DateTime.Now.Millisecond);
return (T)Enum.Parse(typeof(T), names[r.Next(names.Count())]);
}
Dans la foulée, je rajouterai un convertisseur Enum-> List Une petite console pour tester tout ça:
Et voici le résultat:
///
class Program
{
static void Main(string[] args)
{
Dictionary

C’est pas grand chose, mais c’est fou ce que c’est pratique