public class test
{
    private string str = "abc";
    private int aa = 99;
}

解决方案 »

  1.   


    Type type = typeof(test);
    FieldInfo fi = type.GetField("str", BindingFlags.NonPublic | BindingFlags.Instance);
      

  2.   

    FieldInfo fi 这个也不能获得它的值啊?
      

  3.   

    是反射把
     test a = new test();
                System.Reflection.FieldInfo _FieldIfno = a.GetType().GetField("str", System.Reflection.BindingFlags.NonPublic|System.Reflection.BindingFlags.Instance);
                object _Value =_FieldIfno.GetValue(a);
                MessageBox.Show(_Value.ToString());
      

  4.   

    fieldInfo = formType.GetField(item.Name, BindingFlags.Instance | BindingFlags.NonPublic |
                                BindingFlags.Public | BindingFlags.Static);
    subObject = fieldInfo.GetValue(form);
      

  5.   

    吧他放到一个对象里还是看不到他的值啊。怎样可以console。write(值)出来呢?
      

  6.   

    MemberInfo[] mi = type.FindMembers(MemberTypes.Field, BindingFlags.Default|BindingFlags.NonPublic | BindingFlags.Instance , null, null);
    楼主试试看
      

  7.   

    操作失误,本来该给分zgke的,抱歉。