Kann ein enum
Wert als Einstellung gespeichert werden, indem die Properties.Settings.Default["MySetting"]
Syntax von C # verwendet wird? Ich habe versucht, eine Einstellung in den Eigenschaftsseiten meines Projekts zu erstellen, aber nur Systemklassen sind in der Liste der verfügbaren Typen aufgeführt.
Wenn es gemacht werden kann, wie mache ich das? Vielen Dank im Voraus für Ihre Hilfe.
speichern Sie es einfach als int und konvertieren Sie es bei Bedarf.
%Vor% Wenn Sie das Bedürfnis haben, können Sie Enum.IsDefined(typeof(MyEnum), value)
verwenden, um sicherzustellen, dass es gültig ist. Sie können einen Zeichenfolgenwert auch so speichern, dass er in Ihrer Konfigurationsdatei in einem lesbaren Format vorliegt:
So setze ich den Einstellungstyp auf MyEnum
enum type:
Erstellen Sie Ihre neue Eigenschafteneinstellung vom Typ string
(der Typ string
wird in den nächsten Schritten in MyEnum
type geändert)
Öffnen Sie Settings.Designer.cs
:
Ändern Sie den Rückgabetyp Ihrer neuen Property von string
in Ihren Enum-Typ MyEnum
:
Gegeben die Einstellung Enum Type hat den Namen MyEnum
(in Company.Enums
Namespace), bearbeiten Sie den Rückgabetyp vom Typ global::Company.Enums.MyEnum
:
So sieht es viel sauberer aus, mit nur einer Aussage; type safety ist auf der Client-Seite gewährleistet, ohne dass die unnötige Zeichenfolge zum Auflisten von Parsing benötigt wird.
%Vor%