ValueInjecter игнорировать случаи при сопоставлении свойств

Например, я хочу сопоставить свойство Foo.ID с Bar.Id, возможно ли это?

1 ответ

Решение

Вам нужно создать свой собственный ConventionInjection где вы сравниваете имена свойств без учета регистра:

public class IgnoreCaseInjection : ConventionInjection
{
     protected override bool Match(ConventionInfo c)
     {
         return String.Compare(c.SourceProp.Name, c.TargetProp.Name, 
                               StringComparison.OrdinalIgnoreCase) == 0;
     }
}

И вам нужно использовать его с

var foo = new Foo() { ID = 1};
var bar = new Bar();
bar.InjectFrom<IgnoreCaseInjection>(foo);
Другие вопросы по тегам