反射基础
Posted liyiboke
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了反射基础相关的知识,希望对你有一定的参考价值。
/// <summary> /// 测试反射模型 /// </summary> public class TestFunction { public TestFunction() { } public TestFunction(string param) { this.Param = param; } public string Param { get; set; } public string Function(string fParam) { return this.Param + "-" + fParam; } } class Program { static void Main(string[] args) { TestReflection(new TestFunction()); Console.Read(); } public static void TestReflection(object obj) { //obj类的类型 var t = obj.GetType();
//字段集GetProperties参数可指定字段修饰符 var field = t.GetProperties(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance); //构造函数的参数 object[] constuctParms = new object[] { "构造函数的值" }; //根据类型创建对象 object dObj = Activator.CreateInstance(t, constuctParms); //获取方法的信息 MethodInfo method = t.GetMethod("Function"); //GetValue方法的参数 object[] parameters = new object[] { "Function函数中的值" }; //调用方法,用一个object接收返回值 object returnValue = method.Invoke(dObj, BindingFlags.Public, Type.DefaultBinder, parameters, null); Console.Write(returnValue); } }
以上是关于反射基础的主要内容,如果未能解决你的问题,请参考以下文章
JavaSE 语法基础 --- 反射(基础知识问答+代码详解)