1
我想將強類型對象轉換爲動態。我怎樣才能做到這一點?將datacontract轉換爲動態
[DataContract]
public class Person
{
[DataMember(Name = "name")]
public string Name { get; set; }
[DataMember(Name = "birth_date")]
public DateTime BirthDate { get; set; }
}
public void someFunction()
{
var p = new Person {Name = "Hans", BirthDate = new DateTime(1999, 11, 1)};
var p2 = ConvertToDynamic(p);
Assert.That(p2.name, Is.SameAs("Hans"));
Assert.That(p2.birth_date, Is.SameAs(new DateTime(1999, 11, 1)));
}
private static dynamic ConvertToDynamic(Person person)
{
throw new NotImplementedException();
}
一個快速和骯髒的方法可能是使用一個序列化器。有什麼更好的嗎?
我想避免instanciating一個ExpandoObject並手動設置每個屬性。