== Auszug aus Mafi (m...@example.org)'s Artikel > Am 07.07.2011 23:23, schrieb nrgyzer: > > Hi guys, > > > > I'm trying to read a string from a text file which contains a value of an enumeration like: > > > > enum MyEnum : string { > > Entry_1 = "abc", > > Entry_2 = "def", > > Entry_3 = "ghi", > > } > > > > Stream s = new File("myFile.ext", FileMode.In); > > uint len; > > s.read(len); > > string entry = cast(string) s.readString(len); > > s.close(); > > > > writeln(mixin("MyEnum." ~ entry)); > > > > myFile.ext may contain: > > ... > > Entry_2 > > Entry_1 > > Entry_2 > > Entry_3 > > ... > > > > But mixin's are for compile time only... is there any chance to do this or do I've to use another method (like if/else or switch/ case): > > > > if (entry == "Entry_1") ... > > else if (entry == "Entry_2") ... > > ... > > > > Thanks a lot! > Metaprogramming is the keyword but you don't have to do it yourself. > Just use std.conv.to!MyEnum(string_without_the prefix). > Mafi
Thanks Mafi, exactly what I'm looking for :)