Castle.Core Dictionary Адаптер сложных объектов
Поэтому я возился с библиотекой Castle DictionaryAdapter и решил попробовать, чтобы посмотреть, как она будет обрабатывать сложные типы. Кажется, это не работает из коробки. Вот мой тест:
public interface ITestInterface
{
int Id { get; set; }
string Name { get; set; }
string Temp { get; set; }
INested Nested { get; set; }
}
public interface INested
{
double ThisIsNested { get; set; }
}
Я пытаюсь использовать это так:
var root = new Dictionary<string, object>
{
{ "Id", 1 },
{ "Name", "sample name" },
{ "Temp", "sample temp" },
{
"Nested",
new Dictionary<string, object>
{
{ "ThisIsNested", 12.1 }
}
}
};
var factory = new DictionaryAdapterFactory();
var adapter = factory.GetAdapter<ITestInterface, object>(root);
Console.WriteLine(adapter.Nested.ThisIsNested);
И это бросает System.InvalidCastException : Unable to cast object of type 'System.Collections.Generic.Dictionary`2[System.String,System.Object]' to type 'INested'.
Библиотека плохо документирована, поэтому я не мог найти легкого решения. Не могли бы вы помочь мне с этим?