[.NET] Enumérations (problème résolu)

Enumérations (problème résolu) [.NET] - C#/.NET managed - Programmation

Marsh Posté le 13-02-2003 à 09:50:19    

Comment utiliser la partie nommée d'une énumération ?
 
Par exemple je prends Style.BorderStyle qui est la liste de valeurs énumérée suivante :
 
- NotSet  Le style de bordure n'est pas défini.  
- None  Aucune bordure.  
- Dotted  Bordure en pointillés.  
- Dashed  Bordure discontinue.  
- Solid  Bordure pleine.  
- Double  Bordure double pleine.  
- Groove  Bordure rainurée pour un aspect de bordure enfoncée.  
- Ridge  Bordure striée pour un aspect de bordure en relief.  
- Inset  Bordure incrustée pour un aspect de contrôle enfoncé.  
- Outset  Bordure sortante pour un aspect de contrôle en relief.  
 
La position dans la liste correspond à une valeur entière à partir de 0 et cela fonctionne sans problème en passant la valeur entière pour définir cette propriété.
 
Existe-il un moyen qui permetterait d'utiliser le libellé (par exemple "Dotted" ) plutôt que la valeur entière (3 pour "Dotted" ) ? Essentiellement pour des raisons de claireté lors de la relecture du code...
 
Mon problème apparaît dans le cas suivant (ASP.NET -> VB) :

Code :
  1. <script language="VB" runat="Server">
  2. Sub Page_Load
  3.    MyTable.BorderStyle = 3 ' code OK (entier)
  4.    MyTable.BorderStyle = "Dotted" ' code pas OK (string)
  5.    MyTable.BorderStyle = Dotted ' code pas OK (indéfini)
  6. End Sub
  7. </script>
  8. <asp:Table id="MyTable" runat="Server">


 
Par contre si je spécifie le paramètre de cette manière (ce qui ne m'arrange pas) c'est OK :

Code :
  1. <asp:Table borderstyle="dotted" id="MyTable" runat="Server">


Message édité par Requin le 13-02-2003 à 10:30:05
Reply

Marsh Posté le 13-02-2003 à 09:50:19   

Reply

Marsh Posté le 13-02-2003 à 10:29:27    

La syntaxe correcte est tout simplement (en reprenant mon exemple) :
 

Code :
  1. MyTable.BorderStyle = BorderStyle.Dotted


 
A se demander pourquoi je n'y avais pas pensé avant :)

Reply

Marsh Posté le 18-02-2003 à 09:36:13    

C'est une des grandes avancées de .NET, il faut précéder la constante de l'énumérateur auquel elle appartient :pfff:


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 18-02-2003 à 12:54:32    

Ca évite un des soucis des gros projets... qu'une contante définie à une endroit pourisse du code à un autre.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed