Размышляйте над ExpandoObject

Я записал изящную функцию, которая примет a system.object, размышляйте над его свойствами и сериализируйте объект в строку JSON. Это похоже на это:

public class JSONSerializer
{

    public string Serialize(object obj)

Теперь, я хочу смочь сделать это для сериализации dynamic/ExpandoObject, но потому что мой сериализатор использует отражение, он не может сделать это. Каково обходное решение?

public class Test
{
    public dynamic MakeDynamicCat()
    {
        dynamic newCat = new ExpandoObject();
        newCat.Name = "Polly";
        newCat.Pedigree = new ExpandoObject();
        newCat.Pedigree.Breed = "Whatever";

        return newCat;
    }

    public void SerializeCat()
    {
        new JSONSerializer().Serialize(MakeDynamicCat());
    }
}
6
задан Water Cooler v2 9 June 2010 в 10:27
поделиться