In de meeste talen heb je enumeraties. Vaak kun je hier ook nog een integer-waarde aan geven. Intern vertaald de compiler dit ook naar integer waarden, puur om performance. De enum-token is er voor de programmeur om de boel leesbaar te houden. Tof.
Maar tegenwoordig met internet en XML is het tekst wat de klok slaat. Maw: je kunt die enum wel naar een integer waarde casten en die dan in je HTML vrotten, maar dat maakt het er niet begrijpelijk op.
Je voelt hem al aankomen. Een enum-entry zou geconverteerd moeten kunnen worden naar een string! En dan moet de compiler je dus helpen de token naar een literal om te zetten. Andersom zou ook kunnen. Het volgende pseudo code illustreert dit wel:
Mijn vraag aan jullie: Wat vinden jullie hiervan? Zien jullie beren op de weg? Waarom hebben ze dit niet in C# gestopt?
OK, ik zie wel een beer, het terugcasten van string naar enum. Wordt het undefined, een run-time error, moet er een check komen of het wel een geldige enum-waarde is?
Maar het zou wel top-handig zijn!
___________
Het onderwerp is onderwerp aan verandering.
Maar tegenwoordig met internet en XML is het tekst wat de klok slaat. Maw: je kunt die enum wel naar een integer waarde casten en die dan in je HTML vrotten, maar dat maakt het er niet begrijpelijk op.
Je voelt hem al aankomen. Een enum-entry zou geconverteerd moeten kunnen worden naar een string! En dan moet de compiler je dus helpen de token naar een literal om te zetten. Andersom zou ook kunnen. Het volgende pseudo code illustreert dit wel:
code:
1
2
3
4
5
6
7
8
| typedef enum { ja, nee, misschien } Antwoord;
Antwoord eAntwoord;
string sAntwoord;
eAntwoord=nee;
sAntwoord=(string)eAntwoord; //sAntwoord bevat nu de string 'nee'
...
eAntwoord=(Antwoord)sAntwoord; //eAntwoord bevat nu de enum waarde nee |
Mijn vraag aan jullie: Wat vinden jullie hiervan? Zien jullie beren op de weg? Waarom hebben ze dit niet in C# gestopt?
OK, ik zie wel een beer, het terugcasten van string naar enum. Wordt het undefined, een run-time error, moet er een check komen of het wel een geldige enum-waarde is?
Maar het zou wel top-handig zijn!
___________