天天看点

c#通过反射动态执行类的实例及静态方法

using System; using System.Collections.Generic; using System.Text; using System.IO; using System.Reflection; namespace ConsoleApplication1 {     class Program     {

                 private  static string Display()         {                          return "sex";         }

        private  string Spec()         {

            return "detail";         }         public static void Main(string[] args)         {             //通过反射来执行类的静态方法             Type tx = typeof(ConsoleApplication1.Program);             MethodInfo mf = tx.GetMethod("Display", BindingFlags.NonPublic|BindingFlags.Static, null, new Type[] { }, null);             string saf = (string)mf.Invoke(null,null);                          Console.WriteLine(saf);

            Console.ReadKey();            

            //通过反射来执行类的实例方法             //string[] str = new string[2];             Program p1 = new Program();             Type t = p1.GetType();              //因为此句我分析好久             MethodInfo mi = t.GetMethod("Spec", BindingFlags.NonPublic | BindingFlags.Instance, null, new Type[] { }, null);

            //通过反射执行ReturnAutoID方法,返回AutoID值             string strx = mi.Invoke(p1, null).ToString();             Console.WriteLine(strx);             Console.ReadKey();             }     } }

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9240380/viewspace-720174/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/9240380/viewspace-720174/