Я сериализовал пользовательский тип, который имеет некоторые внутренние свойства, но при сериализации кажется, что использование метода System.Web.Script.Serialization.JavaScriptSerializer
serialize
не сериализует внутренние свойства (поскольку он пропускает внутреннее свойство в сериализованной строке). Это легко понять из следующего кода и вывода:
public class MyClass
{
public string Property1 { get; set; }
internal string Property2 { get; set; }
public string Property3 { get; set; }
}
JavaScriptSerializer mySerializer = new JavaScriptSerializer();
string jsonString = mySerializer.Serialize(new MyClass()
{
Property1 = "One",
Property2 = "Twp",
Property3 = "Three"
});
JsonString имеет следующее значение:
{"Property1":"One","Property3":"Three"}
На выходе вы можете видеть, что у сериализованной строки нет свойства Property2, которое является внутренним свойством. Есть ли какая-то логика в том, что не поддерживает внутреннее свойство при сериализации?
Каким будет обходной путь для сериализации внутреннего свойства (кроме изменения внутреннего модификатора на общедоступный)?
internal
), также включалась по умолчанию в процесс отправки данных полностью в другое место (сериализация). - person Will Ray   schedule 14.04.2016