Ist es möglich, einen Dictionary<string, Anything>
zu einem konsistenten mittleren generischen Typ zu konvertieren? Also wäre ich in der Lage, <string, string>
, <string, bool>
, <string, int>
, <string, anything>
alle auf die gleiche Art von Wörterbuch zu werfen?C# Cast Dictionary <String, AnyType> zu Dictionary <String, Objekt> (Involving Reflection)
ich an einem Projekt arbeite, die schwere Reflexion verwendet, und ich brauche Dictionary-Typen als solche verarbeiten zu können:
FieldInfo field = this.GetType().GetField(fieldName);
Dictionary<string, Object> dict = (Dictionary<string, Object>)field.GetValue(this);
Der obige Code ist das, was zur Zeit ich habe, und das Programm nicht immer auf dem cast von field.GetValue auf das generische Dictionary<string, Object>
.
Gibt es eine Möglichkeit, dies zu tun? Oder sollte ich einfach eine andere Möglichkeit finden, diese Wörterbücher zu verarbeiten?
Jede Hilfe würde sehr geschätzt werden.
Das hat wie ein Zauber funktioniert, Danke AakashM und Gibsnag. Das gab mir eine Weile Probleme. –
Es gibt keine Notwendigkeit für eine spezielle CastDict-Methode, Sie können einfach den normalen Cast() LINQ-Operator verwenden. –