Salut

J'ai une enum et je souhaiterais affecter une variable de ce type à partir d'une valeur int.
A part un switch je n'ai pas trouvé d'autre syntaxe. Il doit bien y avoir mieux ?!
Dans la doc il est interdit d'utiliser de constructeur public pour les enums.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 
public static enum ProtocoleVersion
{
 VERSION_ONE(1), VERSION_TWO(2);
 int _version ;
 ProtocoleVersion(int version)
 {
  _version = version ;
 }
}
 
private ProtocoleVersion _protocoleVersion ;
 
public void setProtocole( int protocoleVersion )
{
 switch( protocoleVersion )
 {
  case 1:
   _protocoleVersion = ProtocoleVersion.VERSION_ONE ;
   break ;
  case 2:
   _protocoleVersion = ProtocoleVersion.VERSION_TWO ;
   break ;
  default:
   throw new Exception("Invalid protocole version");
 }
}
Je trouve pas comment faire mieux que le contenu de la méthode void setProtocole( int protocoleVersion ).

Merci pour vos idées,
cyrille