-
-
Notifications
You must be signed in to change notification settings - Fork 24
/
Copy pathReflectionUtil.cs
60 lines (51 loc) · 1.42 KB
/
ReflectionUtil.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
using System;
using System.Reflection;
using static RaceElement.ACCSharedMemory;
namespace RaceElement.Util;
public class ReflectionUtil
{
public static object FieldTypeValue(FieldInfo member, object value)
{
if (member.FieldType.Name == typeof(byte[]).Name)
{
byte[] arr = (byte[])value;
value = string.Empty;
foreach (byte v in arr)
{
value += $"{{{v}}}, ";
}
}
if (member.FieldType.Name == typeof(Int32[]).Name)
{
Int32[] arr = (Int32[])value;
value = string.Empty;
foreach (Int32 v in arr)
{
value += $"{{{v}}}, ";
}
}
if (member.FieldType.Name == typeof(Single[]).Name)
{
Single[] arr = (Single[])value;
value = string.Empty;
foreach (Single v in arr)
{
value += $"{{{v}}}, ";
}
}
if (member.FieldType.Name == typeof(StructVector3[]).Name)
{
StructVector3[] arr = (StructVector3[])value;
value = string.Empty;
foreach (StructVector3 v in arr)
{
value += $"{{{v}}}, ";
}
}
if (member.FieldType.Name == typeof(StructVector3).Name)
{
value = (StructVector3)value;
}
return value;
}
}