Füllen / aktualisieren Sie die Enum-Werte zur Laufzeit in C #

8

Ich habe Windows app wo-in Ich muss Enum-Werte zur Laufzeit durch Lesen einer Textdatei namens "Controls.txt" füllen. Als Einschränkung sollte ich kein Wörterbuch verwenden . Im Folgenden sind die Standardwerte aufgeführt, die in der Aufzählung MyControls verfügbar sind. Ich muss nur enums verwenden .

%Vor%

Wenn die Datei Controls.txt verfügbar ist, sollte sich der Inhalt von enum wie

ändern %Vor%

Wie erreiche ich das? Ich stieß auch auf den Link Creating / Modify Enums zur Laufzeit , konnte aber keine Idee bekommen.

    
sia 04.12.2014, 09:05
quelle

2 Antworten

4

Ich glaube stark, dass Sie versuchen, das falsche Problem zu lösen. Der Wert von enum ist Typ-Sicherheit. Ich denke nicht, dass es eine gute Idee ist, es dynamisch aufzufüllen. Was wirklich nützlich wäre, ist eine Enumeration, die zB durch eine Textdatei gefüllt wird, sogar vor der Kompilierung. Sie können dies mithilfe von Textvorlagen in VS tun.

Sie können ein Beispiel in meinem Blogpost hier finden: Ссылка

Obwohl mein Beispiel von einer db geladen wird, sollte es einfach sein, es aus einer Textdatei zu laden.

    
SKleanthous 04.12.2014 09:16
quelle
3

Abgesehen von der Tatsache, dass ich mit der anderen Antwort einverstanden bin, die besagt, dass Sie den Typ verlieren und die Zeit für die Sicherheit kompilieren, verwenden Sie EnumBuilderClass sollte der einzige Weg sein (Danke an huPpty duMpty s Kommentar).

%Vor%

Ausgabe:

%Vor%     
Tim Schmelter 04.12.2014 09:37
quelle

Tags und Links