В моей ситуации мне нужно хранить словарные объекты типа Dictionary<SomeEnum, string>
в переменной object
. SomeEnum
всегда отличается типом с базовым типом int
. С другой стороны, мне нужно преобразовать объект в IDictionary<int, string>
, но после двух дней размышлений ничего не получилось.
Позвольте мне показать какой-то пример:
enum Things: int {A, B, C}
//few lines are skipped
IDictionary<Things, string> dict = new Dictionary<Things, string>(){
{Things.A, "A"},
{Things.B, "B"},
{Things.C, "C"}};
object a = dict;
var b = a as IDictionary<System.Enum, string>; //not working
var c = a as IDictionary<int, string>; //not working too
var d = a as IDictionary<object, string>; //at least we tried
Что я делаю не так? Даже IDictionary<KeyValuePair<System.Enum, string>>
не работает.