Вопрос

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

public class JSONSerializer
{

    public string Serialize(object obj)

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

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());
    }
}
Это было полезно?

Решение

Я думаю, этот вопрос очень похож: Как мне размышлять над членами динамического объекта?

По крайней мере, ответы должны вам тоже.

Другие советы

Я бы предложил использовать json.net для сериализации. Версия 3.5 поддерживает сериализующие динамические объекты (например, расширение). Десериализация от JSON до динамического объекта включает небольшие усилия, но это тоже не слишком громоздко. Посты ниже списков, которые вышли:

Динамическая сериализация объекта

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top