回答編集履歴
1
コード追記
answer
CHANGED
@@ -1,3 +1,29 @@
|
|
1
1
|
リフレクションを使うというのはどうでしょう?
|
2
2
|
|
3
|
-
[リフレクションを使って構造体フィールドに値を設定する(FieldInfo.SetValue) - Programming/.NET Framework/Tips - 総武ソフトウェア推進所](http://smdn.jp/programming/netfx/tips/set_struct_field_using_reflection/)
|
3
|
+
[リフレクションを使って構造体フィールドに値を設定する(FieldInfo.SetValue) - Programming/.NET Framework/Tips - 総武ソフトウェア推進所](http://smdn.jp/programming/netfx/tips/set_struct_field_using_reflection/)
|
4
|
+
|
5
|
+
■追記:サンプルコード
|
6
|
+
```VB
|
7
|
+
Imports System
|
8
|
+
Imports System.Reflection
|
9
|
+
|
10
|
+
Public Class Test
|
11
|
+
Public Shared Sub Main()
|
12
|
+
Dim s As new MES_DATA_STRUCTURE
|
13
|
+
Dim v As ValueType = s
|
14
|
+
Dim fieldInfo() As FieldInfo = s.GetType().GetFields( _
|
15
|
+
BindingFlags.Instance Or BindingFlags.Public)
|
16
|
+
For Each f As FieldInfo In fieldInfo
|
17
|
+
f.SetValue(v, -999)
|
18
|
+
Next f
|
19
|
+
Console.WriteLine(s.Tc) ' 初期化されて「-999」が出力される
|
20
|
+
End Sub
|
21
|
+
End Class
|
22
|
+
|
23
|
+
Structure MES_DATA_STRUCTURE
|
24
|
+
Public Tc As Double
|
25
|
+
Public Vp As Double
|
26
|
+
Public Vc As Double
|
27
|
+
Public Id As Double
|
28
|
+
End Structure
|
29
|
+
```
|