Точно так же, как вы можете создать Вещи вот так
Thing x = new Thing { X = "hello", Y = "world" }
Так что нет, это не вызывает конструктор, чтобы ответить на ваш вопрос.
Хорошо, более подробно ...
Он берет JSON и десериализует его.Он заполняет свойства вашего объекта JSON.Например, если в JSON было следующее:
{"notRelated":0, "test": "string"}
Сериализатор не найдет X или Y для вещи и установит для них значение по умолчанию для этого типа данных.
Допустим,Вы хотите пойти глубже.Вы можете настраивать сериализацию и десериализацию своих объектов:
[Serializable]
public class MyObject : ISerializable
{
public int n1;
public int n2;
public String str;
public MyObject()
{
}
protected MyObject(SerializationInfo info, StreamingContext context)
{
n1 = info.GetInt32("i");
n2 = info.GetInt32("j");
str = info.GetString("k");
}
[SecurityPermissionAttribute(SecurityAction.Demand,SerializationFormatter=true)]
public virtual void GetObjectData(SerializationInfo info, StreamingContext context)
{
info.AddValue("i", n1);
info.AddValue("j", n2);
info.AddValue("k", str);
}
}
Таким образом, вы можете видеть, что это ловит параметры в вашем случае, X
и Y
.