public virtual int GetHashCode() { return (name != null ? name.GetHashCode() : 0); }
// et la, le point central public static readonly Language French = new Language("français") ; public static readonly Language English = new Language("anglais") ; }
du coup, tout ça devient completement indexable. non ? et ça evite de manger l'eternel cast d'enum vers entier et pire l'inverse.
voila voila
je ne crois pas que ça soit une super idée...
mieux vaut définir une fonction de hash
et puis, qu'est-ce qui empeche de faire des objets ?
class Language
{
private Language(string name)
{
this.name = name;
}
private string name ;
public override bool Equals(object obj)
{
if (!(obj is Language)) return false;
if (this == obj) return true;
public virtual int GetHashCode()
{
return (name != null ? name.GetHashCode() : 0);
}
// et la, le point central
public static readonly Language French = new Language("français") ;
public static readonly Language English = new Language("anglais") ;
}
du coup, tout ça devient completement indexable. non ?
et ça evite de manger l'eternel cast d'enum vers entier et pire l'inverse.
public virtual int GetHashCode() { return (name != null ? name.GetHashCode() : 0); }
// et la, le point central public static readonly Language French = new Language("français") ; public static readonly Language English = new Language("anglais") ; }
du coup, tout ça devient completement indexable. non ? et ça evite de manger l'eternel cast d'enum vers entier et pire l'inverse.