Lassen Sie mich zum besseren Verständnis der FrageIst es möglich, Werttyp basierend auf dem Schlüssel auf Schlüssel/Wert-Paar in C# zu haben?
Bibliothek hält ein einfaches Beispiel:
enum Keys
{
[Description("Color select")]
ColorSelection,
[Description("Day select")]
DaySelection,
[Description("Gender select")]
GenderSelection
}
enum Color
{
[Description("White color")]
White,
[Description("Black color")]
Black,
[Description("Brown color")]
Brown
}
enum Day
{
[Description("Monday")]
Monday,
[Description("Tueday")]
Tuesday,
[Description("Wednesday")]
Wednesday
}
enum Gender
{
[Description("Male gender")]
Male,
[Description("Female gender")]
Female
}
From Client ich so wollen:
Dictionary<Keys, ??> values = new Dictionary<Keys, ??>();
values.Add(Keys.ColorSelection, <Auto suggest color>);
values.Add(Keys.DaySelection, <Auto suggest day>);
Ich bin okay, Ändern Sie die Bibliothek, um eine Liste von values
als Enum
zu haben, aber ich möchte, dass der Client automatisch die Werte wi vorschlägt Die Filter basieren auf dem Schlüssel.
Hinweis:
1. Ich möchte nicht Klasse (Modell) mit der Eigenschaft als jeweilige Art, da es viele Schlüssel in der Bibliothek und Client sind holen wenige und Werte zu liefern.
2. I-Werte nicht allein als List<Values>
haben kann, da einige Fälle gleiche description
als Wert mit verschiedenen Schlüsseln .. Eg haben:
Anregungen „Ja/Nein-Werte werden mit verschiedenen Schlüsseln gleich sein“? Vielen Dank im Voraus ..
Ich verstehe Ihre Frage nicht ... warum wollen Sie nicht eine Klasse verwenden? Viele Schlüssel zu haben hält dich nicht davon ab, Klassen zu benutzen ... Du meinst ein Struct? – Milney
@Milney Say habe ich 'Klasse' namens' Detail' mit 200 Eigenschaften und von Client Ich werde 3 Eigenschaften mit Wert (zB: Schlüssel, Farbe Geschlecht) und Ruhe (197) wird 'null'. Ich glaube nicht, dass es der richtige Weg ist. – Gopichandar
Ich würde ernsthaft Ihr Design überdenken ... 'Werttypen' wird Ihnen nicht helfen, dieses Problem zu vermeiden ... Sie können ein Wörterbuch haben, mit 3 Schlüsseln hinzugefügt - die Werte für diese 3 Schlüssel sind Ihre Detailklasse .. keine Nullen beteiligt – Milney