Можно ли сделать согласованным промежуточным общим типом? Так что я смог бы отличить <string, string>
, <string, bool>
, <string, int>
, <string, anything>
все в том же типе словаря?C# cast Словарь <string, AnyType> в словарь <string, Object> (Вовлечение отражения)
Я работаю над проектом, который использует тяжелое отражение, и мне нужно, чтобы иметь возможность обрабатывать СЛОВАРЬ типы, как, например:
FieldInfo field = this.GetType().GetField(fieldName);
Dictionary<string, Object> dict = (Dictionary<string, Object>)field.GetValue(this);
Приведенный выше код является то, что я в настоящее время, и программа всегда терпит неудачу на cast from field.GetValue к общему Dictionary<string, Object>
.
Есть ли способ сделать это? Или мне просто нужно выяснить другой способ обработки этих словарей?
Любая помощь была бы принята с благодарностью.
Это работало как шарм, Спасибо вам и AakashM, и Gibsnag. Это немного помогло мне. –
Нет необходимости в специальном методе CastDict, вы можете просто использовать обычный оператор LINK() LINQ. –