у меня есть:
var someConcreteInstance = new Dictionary<string, Dictionary<string, bool>>();
и я хочу привести его к версии интерфейса, т. Е .:
someInterfaceInstance = (IDictionary<string, IDictionary<string, bool>>)someConcreteInstance;
someInterfaceInstance является публичной собственностью:
IDictionary<string, IDictionary<string, bool>> someInterfaceInstance { get; set; }
Это компилируется правильно, но выдает ошибку приведения во время выполнения.
Unable to cast object of type 'System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.Dictionary`2[System.String,System.Boolean]]' to type 'System.Collections.Generic.IDictionary`2[System.String,System.Collections.Generic.IDictionary`2[System.String,System.Boolean]]'.
Чего мне не хватает? (Проблемы с вложенным универсальным типом / свойством?)