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'.

Библиотека плохо документирована, поэтому я не мог найти легкого решения. Не могли бы вы помочь мне с этим?

0 ответов

Другие вопросы по тегам