zoukankan      html  css  js  c++  java
  • 将string转为同名类名,方法名。(c#反射)

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace stringConvertClass
    {
        class test
        {
            public void Method()
            {
                Console.WriteLine("调用成功!");
            }

            public void Method(testcase)

            {

                 console.WriteLine(testcase.toString());

            }
        }
        class Program
        {
            public static void run(TestCase testcase)
            {

              string strClass = "stringConvertClass.test";  //命名空间+类名
              string strMethod = "Method";//方法名
              Type t; 
              object obj;

              t = Type.GetType(strClass);//通过string类型的strClass获得同名类“t”
              System.Reflection.MethodInfo method = t.GetMethod(strMethod);//通过string类型的strMethod获得同名的方法“method”
              obj = System.Activator.CreateInstance(t);//创建t类的实例 "obj"
              
                  method.Invoke(obj,null);//t类实例obj,调用方法"method"

               //上面的方法是无参的,下面是有参的情况.

              object[] objs = new object[]{testcase};

              method.Invoke(obj,objs );//t类实例obj,调用方法"method(testcase)"

            }
            static void Main(string[] args)
            {

                TestCase testcase = new TestCase();//自己定义的类
                run(testcase);
            }
        }
    }

    快乐而轻松的写代码
  • 相关阅读:
    洛谷 P1208 [USACO1.3]混合牛奶 Mixing Milk( 普及-)
    洛谷 P1909 [NOIP2016 普及组] 买铅笔
    全排列问题
    集合的划分(setsub)
    自然数拆分-回溯
    洛谷 P4414 [COCI2006-2007#2] ABC
    洛谷 P5709 【深基2.习6】Apples Prologue
    洛谷 P4326 [COCI2006-2007#1] Herman
    平面分割
    洛谷 P1601 A+B Problem(高精)
  • 原文地址:https://www.cnblogs.com/libei/p/6422941.html
Copyright © 2011-2022 走看看