zoukankan      html  css  js  c++  java
  • 利用反射来查看对象中的私有变量

    在程序设计的时候,我们可能会写一些底层使用的库,包括一些核心的类,而这些通常封装了一些私有的方法和私有变量,在程序未完成的时候,我们可能需要对其进行一些调试,来检验所定义的类是否有错误。
    当然也有可能这个库是来自于其它开发人员。
    我们在调试中可能会去查看类中的私有变量。

    我的个人习惯是写了一段自己认为比较重要的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);
    }


    很简单吧。


  • 相关阅读:
    iOS多线程开发小demo5 线程间的通信
    iOS多线程开发小demo4,线程的同步问题
    iOS多线程开发小demo3,线程的状态
    iOS多线程开发小demo2,NSThread篇
    iOS多线程开发小demo
    iOS开发多线程基础知识
    sublime text 3 3083 注册码
    Canvas现实画板功能
    CSS3动画进度条
    移动端使用HTML5表单增强体验
  • 原文地址:https://www.cnblogs.com/king_astar/p/155382.html
Copyright © 2011-2022 走看看