ディクショナリ(または他の名前と値のコレクション)からプロパティをマップできるオブジェクト-オブジェクトマッパーはありますか?
クラスがあるとしましょう
public class SomeClass
{
public string Text { get; set; }
public Address HomeAddress { get; set; }
public List<int> Numbers { get; set; }
}
public class Address
{
public string Street { get; set; }
public string PostalCode { get; set; }
public string City { get; set; }
}
私がやりたいのは
var values = new Dictionary<string,object>();
values.Add("Text","Foo");
values.Add("HomeAddress.Street","Some street 123");
values.Add("HomeAddress.PostalCode","12345");
values.Add("HomeAddress.City","Some city");
values.Add("Numbers[0]",123);
values.Add("Numbers[1]",234);
values.Add("Numbers[2]",345);
SomeClass some = aMapperTool.CreateFromDictionary<SomeClass>(values);
これは基本的に、ASP.NET MVCのDefaultModelBinderに似ています。これは、多くのコンテキストとメタデータ関連のものを必要とするため、あまり便利ではありません。