ValueInjecter在映射属性时忽略大小写

时间:2013-04-30 09:17:37

标签: c# valueinjecter

例如,我想将属性Foo.ID映射到Bar.Id,是否可能?

1 个答案:

答案 0 :(得分:6)

您需要创建自己的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);