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
(これは type の列挙型です) もあります。FooEnum
bar.MyProp
.ToString()
コンバーターに別のルールを追加するにはどうすればよいですか? コードはどのようになりますか?