質問編集履歴

1

前提・質問内容更新

2019/04/09 21:53

投稿

JanTh1989
JanTh1989

スコア87

test CHANGED
File without changes
test CHANGED
@@ -2,13 +2,23 @@
2
2
 
3
3
  C#⇒C++/CLIの流れで動くライブラリ(DLL)作っています。
4
4
 
5
+ ◆C++/CLIで実現したいこと
6
+
5
- C++/CLIでは、XMLを読み込んで、自作クラスに値を割り当てて、C#に返す動作を行います
7
+ XMLを読み込んで、自作クラスに値を割り当てて、C#に返す。
8
+
6
-
9
+ ◆C#で実現したいこと
10
+
7
- C#側はC++/CLIから帰ってきたクラスをベースにNewtonsoft.Jsonライブラリにより、Json文字列へ変換⇒JObject型作成を行います。
11
+ C++/CLIから取得したクラスをベースにNewtonsoft.JsonライブラリJson文字列へ変換
12
+
8
-
13
+ ・作成したJson文字列を同様にNewtonsoft.JsonライブラリでJObject型作成。
14
+
15
+
16
+
9
-
17
+ C#であればC++/CLIで実現したいもののクラス構造、処理は算段は立ったのですが、さてC++/CLIで作る、となると知識・経験不足で難航しています。
10
-
18
+
19
+
20
+
11
- ●C#が求めるC++/CLIから返ってくるクラス構造
21
+ ●C++/CLIで作りたいクラス構造(C#版)
12
22
 
13
23
  ```C#
14
24
 
@@ -106,6 +116,22 @@
106
116
 
107
117
  ```
108
118
 
119
+ ●C++/CLIのクラス定義
120
+
121
+ ```C++
122
+
123
+ ref class Analyze;
124
+
125
+ class JsonClass;
126
+
127
+ class ProfileList;
128
+
129
+ class Member;
130
+
131
+ class Carrer;
132
+
133
+ ```
134
+
109
135
  ●作りたいJsonイメージ
110
136
 
111
137
  ```JSON
@@ -150,6 +176,8 @@
150
176
 
151
177
  ●C#の処理
152
178
 
179
+ 「C#で作る場合のクラスイメージ」の
180
+
153
181
  ```C#
154
182
 
155
183
  dynamic jsonClass = XMLAnalyze("ファイルパス");
@@ -160,19 +188,15 @@
160
188
 
161
189
  ```
162
190
 
163
- C#からの参照可(public refクラス)はC#イメージクラスのpublicにしているAnalyzeクラスのみで考えています。
164
-
165
191
  # 質問内容
166
192
 
193
+ C++/CLIで生成したクラスをC#で受け取って、プロパティのint型にnullが入っているという状態になる方法に難航しています。
194
+
167
- C#⇔C++/CLIの型変換に難航しております。
195
+ C#にはint?ようにnull許容がありますが、C++には無い認識です
168
-
196
+
169
- マネージドアンマネージドの兼ね合いstd、Systemどの理解が乏しお恥ずかしい限りです・・・
197
+ JSON変換にあたって数値型でもXMLに該当するタグが無ければ「"age":null」のように"null"でも0でもなく、nullにいです。
170
-
198
+
171
- 、Null許容型のint型null、stringにnull、についても方法が理解きていません。
199
+ C++がC#にクラスデータを送り、受け取っクラスのint型プロパティがnull許容となる方法はありますしょうか?
172
-
173
- Null許容型のint型をstring型に変更して、"null"を入れれば?という方法も検討したのですが、最終的にはJObject化して、数値として扱っていく予定のため、あくまで数値かつ「"age":null」のような形でJson文字列化してもらいたいです。
174
-
175
- C#クラスイメージのC++版を生成するには、どのような構造になっていればよろしいのでしょうか?
176
200
 
177
201
  # 補足
178
202