Valueinjecter, отображающий сложные объекты

У меня есть этот простой код:

using Omu.ValueInjecter;

namespace InjectionTest
{
    public class Partner
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public City City { get; set; }
    }

    public class City
    {
        public int Id { get; set; }
        public string Name { get; set; }
    }

    public class PartnerViewModel
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public string CityName { get; set; }
    }

    class Program
    {
        static void Main(string[] args)
        {
            var city = new City()
            {
                Id = 1,
                Name = "Athens"
            };

            var partner = new Partner()
            {
                Id = 1,
                Name = "Acme d.o.o.",
                City = city
            };

            var vm = new PartnerViewModel();

            vm.InjectFrom(partner);

        }
    }
}

Насколько я понимаю, Valueinjector отображает сложные графы объектов по имени класса + имени свойства. Я ожидал, что свойство объекта vm CityName будет «Афины» после инъекции, но оно равно нулю. Думаю, я что-то упускаю. Помощь приветствуется.


person zszep    schedule 11.09.2015    source источник
comment
Пожалуйста, прочитайте мой ответ, надеюсь, он поможет решить вашу проблему: Сопоставление значений ValueInjector   -  person Rahul Dhoundiyal    schedule 05.01.2020


Ответы (1)


Не бери в голову. Пройдясь по образцам, я понял, что линия

vm.InjectFrom(partner);

должен прочесть

vm.InjectFrom<FlatLoopInjection>(partner);

У меня сложилось впечатление, что это должно быть по умолчанию, но, похоже, это не так.

person zszep    schedule 11.09.2015