PropertyをToJsonしたい

Propertyのシリアライズは出来なかったきがするので雑に やるとすると

  [Serializable]
   class DataClass
   {
       public int HogeProperty
       {
           get { return hogeProperty; }
           set { hogeProperty = value; }
       }
       public int hogeProperty;
   }

こんな感じになると思う

この問題はいぜん自分もぶつかってその時はこの方法で解決をしました。
もうちょっと丁寧に(hogePropertyを他の人に触ってほしくない場合)したいなら

    class FrameworkDataClass
   {
       [Serializable]
       class Data
       {
           public int hogeValue = 1;
       }
       public int HogeProperty
       {
           get { return data.hogeValue; }
           set { data.hogeValue = value; }
       }
       private Data data = new Data();
       public string ToJson()
       {
           return JsonUtility.ToJson(data);
       }
   }

Frameworkが触るクラスを作ってToJsonを実装してあげるとか?

どっちにしろPropertyをシリアライズ化って出来なかった気がするのでこんな感じで代わりのメンバを用意してあげないといけない気がする。

なにかしてきとかこうしたほうがいいんじゃね?ってのがあったら誰かおしえて!ぱっと浮かぶ解法はこんな感じ




この記事が気に入ったらサポートをしてみませんか?