Ich versuche, DU-Fälle aus Strings zu erstellen. Die einzige Möglichkeit, dies zu sehen, besteht darin, die DU-Fälle über Microsoft.FSharp.Reflection.FSharpType.GetUnionCases
aufzuzählen und dann die UnionCase
auszuwählen, die mit der Zeichenfolge übereinstimmt (indem .Name
verwendet wird) und dann den tatsächlichen DU-Fall daraus zu machen. co_de%.
Gibt es dafür keine einfachere / elegantere Methode? In meinem Szenario habe ich eine DU mit ein paar hundert Fällen für Keywords. Ich muss die Strings (Schlüsselwörter) aus einer Datei lesen und die Typen daraus machen. Ich habe einige "Optimierungen" gemacht, indem ich die Fälle in eine Map eingefügt habe, aber ich hatte gehofft, dass es einen besseren Weg geben würde.
Ich habe zum Beispiel folgendes:
%Vor%Da die Fälle keinen Wert haben, können Sie auch enums verwenden:
%Vor% Dann können Sie einfach Enum.Parse