反射的使用

namespace 反射
{
    class Program
    {
        static void Main(string[] args)
        {
            Assembly ass= Assembly.Load(@"反射");//找到程序集

            var type = ass.GetType("反射.Reflections");//找到类

            var method = type.GetMethod("OutPut");//找到类下面的方法

            object instance = Activator.CreateInstance(type);//创建类的实例

            method.Invoke(instance, new object[] { "执行了" });//调用方法

            Console.ReadKey();
        }
    }
    public class Reflections
    {
        public void OutPut(string str)
        {
            Console.WriteLine("反射"+str);
        }
    }
}

 

var method = type.GetMethod("OutPut");改成var method = type.GetMethod("OutPut", BindingFlags.Instance | BindingFlags.NonPublic);还可以调用类里面的私有方法
posted @ 2014-09-18 15:26  递龟  阅读(152)  评论(0编辑  收藏  举报