のは私がJSONにシリアライズしたい、このようなクラスのインスタンスがあるとしましょう:使用してJSONの直列化復元時にacessor設定
public class MyClass
{
public MyClass() { }
private List<string> texts;
public List<string> Texts
{
get
{
return new List<string> { "You got me!" };
}
set
{
texts = value;
Console.WriteLine("Setting property!");
}
}
}
は、私が「テキスト」のために必ずsetアクセサを作ることにしたいと呼ばれているがつまり、MyClassのプライベートプロパティ "text"が設定されていることを確認します。しかし、私は小さなテストケース実行する場合:
public void TestMyClass()
{
var myClass = new MyClass();
var jsonBefore = JsonConvert.SerializeObject(myClass);
var jsonAfter = JsonConvert.DeserializeObject<MyClass>(jsonBefore);
}
をsetメソッドが呼び出され、すなわち民間の「テキスト」を取得することはありません逆シリアル化後nullです。デシリアライズ時にpublic "Texts"の中の設定されたアクセサが呼び出されるようにするにはどうすればよいですか?
これを試してみてください、うまくいく! –