none
c#关于反射的问题

    问题

  • HI,我有一个DLL程序集,但这个程序集是别人给我的,我需要访问里面的私有成员属性,如今我已经获取到那个属性,但是这个属性还有其他的私有成员,请问这个私有属性的私有成员怎么获得?
    2017年1月27日 12:51

全部回复

  • 當初設定為 private ,表示給你 dll 的人就是不希望你叫用了。
    2017年1月27日 14:32
  • 假設類別

    public class Class1
        {
            private int kk;
            public Class1()
            {
                kk = 100;
            }
        }

    用反射叫用

    FieldInfo[] fields = typeof(ClassLibrary2.Class1).GetFields(BindingFlags.NonPublic |
                              BindingFlags.Instance);
    
                ClassLibrary2.Class1 obj = new Class1();
                
                foreach (var fi in fields)
                {
                    Console.WriteLine(fi.Name);
    
                    Console.WriteLine((int)fi.GetValue(obj));
                }

    2017年1月27日 14:54
  • 你就和没说一样!!!
    2017年1月27日 14:54
  • Hi,

    感谢你在MSDN论坛发帖。

    你得查找一下,这dll里面,有没有使用这个属性的方法,我想应该是有的,不然属性弄出来,就是为了给别人用的嘛.

    Best Regards,

    Hart


    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2017年2月14日 7:48
    版主