我是 ValueInjecter 的新手。我知道如何匹配具有相同名称但不同大写的属性:
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);
这将映射foo.ID
到bar.Id
. 如果我有另一个使用不同规则映射的属性怎么办?例如,我也有foo.MyProp
(这是一个类型的可枚举FooEnum
),我想映射到bar.MyProp
它是一个字符串(我的意思是它存储.ToString()
枚举的表示)。
如何向我的转换器添加另一条规则?代码会是什么样子?