Autre solution :
Code :
abstract class Animaux { public const string Chien = "Le chien"; public const string Chat = "Le chat"; ... } Et dans ton code : Console.WriteLine(Animaux.Chien);
|
Mais ze top :
Code :
public enum Aniconst {chien, chat, ...} abstract class Animaux { private const string[] _labels = new stirng [] {"Le chien", "Le chat", ... }; public static string NomAnimal(Aniconst animal) { return _labels[(int)animal]; } } Et dans ton code : Console.WriteLine(Animaux.NomAnimal(Constani.Chien));
|
Pas testé, truffé de bugs, mais bon, c'est pour voir le principe
D'ailleurs, je me suis toujours demandé si on pouvait avoir un enum directement dans une class... Là c'est chiant de devoir le déclarer en global alors qu'il n'est utilisé que pour une classe...
Idem pour le coup de la constante sur la class abstraite, je sais pas si on peut y faire appel depuis la fonction statique. C'est bien con de rendre instanciable une classe juste à cause de ça.