【.Net码农】C#反射获取 所有字段 及 私有字段
来源:互联网 发布:linux vsftpd 怎么使用 编辑:程序博客网 时间:2024/06/03 20:41
http://blog.csdn.net/liyifei21/article/details/34838375
using System; using System.Collections.Generic; using System.Text; using System.Reflection; namespace ReflectionDemo { class Program { static void Main(string[] args) { Type t = typeof(ChangeValue); Type[] types = new Type[0];//为构造函数准备参数类型 ConstructorInfo ci = t.GetConstructor(types); //获得构造函数 object[] objs = new object[0];//为构造函数准备参数值 object obj = ci.Invoke(objs);//调用构造函数创建对象 MethodInfo mi = t.GetMethod("WriteLine");//获得公有的writeline方法 mi.Invoke(obj, null); FieldInfo fi = t.GetField("myValue", BindingFlags.NonPublic | BindingFlags.Instance);//获得私有字段 FieldInfo[] fis=t.GetFields(BindingFlags.NonPublic | BindingFlags.Instance|BindingFlags.Public); Console.WriteLine(fis.Length); foreach (var fieldInfo in fis) { Console.WriteLine( fieldInfo.FieldType+":"+ fieldInfo.Name + ":" + fieldInfo.GetValue(obj) ); } fi.SetValue(obj, "new Value"); //改写私有字段 mi.Invoke(obj, null); MethodInfo mi2 = t.GetMethod("Write", BindingFlags.NonPublic | BindingFlags.Instance);//获得私有的Write方法 mi2.Invoke(obj, null); Console.ReadLine(); } } public class ChangeValue { private string myValue = "old Value"; public string firstValue = "values1"; public void WriteLine() { Console.WriteLine("MyValue is: " + myValue); } private void Write() { Console.WriteLine("MyValue is: " + myValue); } } }
1 0
- 【.Net码农】C#反射获取 所有字段 及 私有字段
- C#反射获取私有字段
- C#中利用反射操作私有字段与私有方法
- C# Reflection 获取私有字段、方法
- C#获取MySQL数据库中的所有的表名和字段名及字段的数据类型
- 通过反射获取和设置对象私有字段的值?
- 使用反射获取一个类的所有方法和字段
- 反射-获取类及其父类中声明的所有字段集合
- 获取通讯录所有字段
- 获取通讯录所有字段
- 获取通讯录所有字段
- c# 反射 遍历实体的所有字段,ObjectDumper类实现
- C#反射类中所有字段,属性,方法
- SQL获取所有用户名,数据库名、所有表名、所有字段名及字段类型
- SQL获取所有用户名,数据库名、所有表名、所有字段名及字段类型
- SQL获取所有用户名,数据库名、所有表名、所有字段名及字段类型
- SQL获取所有用户名,数据库名、所有表名、所有字段名及字段类型
- SQL获取所有用户名,数据库名、所有表名、所有字段名及字段类型
- Qt 5.3 下OpenCV 2.4.11 开发(9)直方图均衡化
- 上海行——GameJam赛后小记
- 枚举用法详解
- SQL模糊查询的语法
- Apple移动设备处理器指令集 armv6、armv7、armv7s及arm64
- 【.Net码农】C#反射获取 所有字段 及 私有字段
- 【小熊刷题】Two Sum <Array/String>
- 程序员编程常用的字体
- dll文件
- java 封装、继承和多态
- android工程下怎么查看System.out.println()信息
- PHP的Trim截取乱码
- hdu--5347--2015 Multi-University Training Contest 5--MZL's chemistry
- IntelliJ IDEA 工具的常见使用