回答編集履歴
1
コードの漏れを追記
test
CHANGED
@@ -44,17 +44,55 @@
|
|
44
44
|
|
45
45
|
``` C++
|
46
46
|
|
47
|
+
namespace DataManage
|
48
|
+
|
49
|
+
{
|
50
|
+
|
51
|
+
ref struct ST_DATATYPE_REF { // 新しく追加する
|
52
|
+
|
53
|
+
public:
|
54
|
+
|
55
|
+
ST_DATATYPE_REF(E_DATATYPE dataType, CString str)
|
56
|
+
|
57
|
+
{
|
58
|
+
|
59
|
+
// 変換処理は割愛
|
60
|
+
|
61
|
+
}
|
62
|
+
|
63
|
+
|
64
|
+
|
65
|
+
// マーシャリング代わり
|
66
|
+
|
67
|
+
static ST_DATATYPE_REF^ CreateInstance(const ST_DATATYPE& src)
|
68
|
+
|
69
|
+
{
|
70
|
+
|
71
|
+
return gcnew ST_DATATYPE_REF(src.eDataType, src.sDataName);
|
72
|
+
|
73
|
+
}
|
74
|
+
|
75
|
+
E_DATATYPE eDataType;
|
76
|
+
|
77
|
+
System::String^ sDataName;
|
78
|
+
|
79
|
+
};
|
80
|
+
|
81
|
+
|
82
|
+
|
83
|
+
}
|
84
|
+
|
47
85
|
ref class C_DATATYPE_LIST_WRAPPER
|
48
86
|
|
49
87
|
{
|
50
88
|
|
51
89
|
public:
|
52
90
|
|
53
|
-
static DataManage::ST_DATATYPE^ Get(int i)
|
91
|
+
static DataManage::ST_DATATYPE_REF^ Get(int i)
|
54
92
|
|
55
93
|
{
|
56
94
|
|
57
|
-
return DataManage::ST_DATATYPE::CreateInstance(C_DATATYPE_LIST[i]);
|
95
|
+
return DataManage::ST_DATATYPE_REF::CreateInstance(C_DATATYPE_LIST[i]);
|
58
96
|
|
59
97
|
}
|
60
98
|
|