teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

参考追記

2016/06/22 03:54

投稿

Tak1wa
Tak1wa

スコア4791

answer CHANGED
@@ -20,4 +20,7 @@
20
20
  addMemBool = true;
21
21
  }
22
22
  }
23
- ```
23
+ ```
24
+
25
+ もしNull許容型を使用したい場合はXmlIgnore属性のフィールドを経由するのが良いようです。
26
+ [http://stackoverflow.com/questions/11716838/how-to-deserialize-nullablebool](http://stackoverflow.com/questions/11716838/how-to-deserialize-nullablebool)

1

エラー原因追記

2016/06/22 03:54

投稿

Tak1wa
Tak1wa

スコア4791

answer CHANGED
@@ -1,5 +1,7 @@
1
1
  こんにちは。
2
2
 
3
+ エラーが発生しているのはaddMemBoolがNullableだからだと思います。
4
+
3
5
  シリアライズのタイミングであれば、DefaultValue属性が使えますが、デシリアライズのタイミングでは使えません。単純にエンティティのコンストラクタなどで初期値は設定しておくのが良いでしょう。
4
6
 
5
7
  ```C#
@@ -10,7 +12,7 @@
10
12
  public string data;
11
13
 
12
14
  [XmlAttribute]
13
- public bool? addMemBool;//追加
15
+ public bool addMemBool;//追加
14
16
 
15
17
 
16
18
  public Hoge()