反射基础

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); } }

  


以上是关于反射基础的主要内容,如果未能解决你的问题,请参考以下文章

OpenGL片段着色器不照亮场景

JavaSE 语法基础 --- 反射(基础知识问答+代码详解)

将 OpenGL 片段着色器设置为仅通过漫反射减少 vec4 色点的 RGB 值,而不是 alpha

反射机制

一天一个Java基础——反射

反射机制入门