ServiceStack.Redis を使用しようとしていますが、オブジェクトをパブリック メンバーと共に保存し、後でそれを取得しようとすると、null になることに気付きました。
ServiceStack.Redis が ServiceStack.JsonSerializer を使用していることを確認したので、テスト ケースを作成しようとしましたが、ServiceStack.JsonSerializer がパブリック メンバーをシリアル化していないことに気付きました。
public class ClassA
{
public string Id;
public string Id2 { get; set; }
}
static void Main(string[] args)
{
ClassA t = new ClassA();
t.Id = Guid.NewGuid().ToString("n");
t.Id2 = Guid.NewGuid().ToString("n");
string a = JsonSerializer.SerializeToString<ClassA>(t);
ClassA t2 = JsonSerializer.DeserializeFromString<ClassA>(a);
Console.WriteLine("id " + t2.Id);
Console.WriteLine("id2 " + t2.Id2);
Console.ReadLine();
}
ご覧のとおり (コードをテストすると)、Id (パブリック メンバー) は null であり、Id2 (パブリック プロパティ) は入力した文字列と同じです。
それで、私は何を間違っていますか?
ありがとう!