反射已有的对象

DLTYiLou t = new DLTYiLou();
t.Calculate();
Type type = typeof(DLTYiLou);
using (StreamWriter sw = new StreamWriter("dlt.txt"))
{
FieldInfo[] field = typeof(DLTYiLou).GetFields();
foreach (FieldInfo item in field)
{
try
{
long[] f = (long[])type.InvokeMember(item.Name, BindingFlags.GetField, null, t, null);
sw.Write("private readonly double[] ");
sw.Write(item.Name);
sw.Write(" = new double[]{");
StringBuilder sb = new StringBuilder();
foreach (var j in f)
{ //2035800
sb.Append(j / 324632.0);
sb.Append(",");
}
sw.Write(sb.ToString().Substring(0, sb.Length - 1));
sw.Write("};");
sw.WriteLine();
}
catch { }
}
}

主要是上面的type.InvokeMember 方法 使用这个方法可以反射出已经创造出的对象 

原文地址:https://www.cnblogs.com/wxzl/p/2323587.html