当然也有可能这个库是来自于其它开发人员。
我们在调试中可能会去查看类中的私有变量。
我的个人习惯是写了一段自己认为比较重要的dll后对其进行一些测试,验证是否其正确性。
调试和测试有一定的区别。
调试是你可能不知道程序最终运行的结果,而测试就是你确定了输入,你可以预计输出,因此来验证最终的结果。
说反射的资料很多,我就不具体说如何查看一个类中的所有方法,所有成员的完成了。
假设我已经知道有一个私有成员的名字,现在有这个类型的对象,我想知道私有成员的值怎么办?
废话说了那么多,看一点代码,很容易了解如何通过反射来查看对象的私有成员。
Type mytype = obj.GetType();
FieldInfo fieldinfo = mytype.GetField("_UserCouldExecutedt", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Public);
if(fieldinfo!=null)
{
String ss = (string)fieldinfo.GetValue(obj);
Console.WriteLine(ss);
}
FieldInfo fieldinfo = mytype.GetField("_UserCouldExecutedt", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Public);
if(fieldinfo!=null)
{
String ss = (string)fieldinfo.GetValue(obj);
Console.WriteLine(ss);
}
很简单吧。