ValueInjecter在映射属性时忽略大小写(ValueInjecter to ignore cases when mapping properties)
例如,我想将属性Foo.ID映射到Bar.Id,是否可能?
For example, I want to map property Foo.ID to Bar.Id, is it possible?
最满意答案
您需要创建自己的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);You need to create your own ConventionInjection where you compare the property names case insensitivly:
public class IgnoreCaseInjection : ConventionInjection { protected override bool Match(ConventionInfo c) { return String.Compare(c.SourceProp.Name, c.TargetProp.Name, StringComparison.OrdinalIgnoreCase) == 0; } }And you need to use it with
var foo = new Foo() { ID = 1}; var bar = new Bar(); bar.InjectFrom<IgnoreCaseInjection>(foo);
更多推荐
发布评论