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

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace stringConvertClass{    class test    {        public void Method()        {
反射 ”其实就是利用程序集的元数据信息。 反射 可以有很多 方法 ,编写程序时请先导入 System.Reflection 命 空间。 1、假设你要 反射 一个 DLL 中的类,并且没有引用它(即未知的类型): Assembly assembly = Assembly.LoadFile(程序集路径,不能是相对路径); // 加载程序集(EXE 或 DLL) dynamic obj = assembly.CreateInstance(类的完全限定 (即包括命 空间)); // 创建类的实例 2、若要 反射 当前项目中的类(即当前项目已经引用它了)可以为: Assembly assembly
在很多情况下,我们都需要使用字符串来 换成 方法 ,因为这个可以减少循环,降低代码的复杂度,而且还可以复用。 下面我们就介绍一下java的 反射 功能: TestRef.java import java.lang.reflect.Method; import java.lang.reflect.InvocationTargetException; public class Test...
在很多情况下,我们都需要使用字符串来 换成 方法 ,因为这个可以减少循环,降低代码的复杂度,而且还可以复用。 下面我们就介绍一下java的 反射 功能: TestRef.java import java.lang.reflect.Method; import java.lang.reflect.InvocationTargetException; * Created by I...
在oc中将字符串 换成 类名 直接调用NSClassFrom String ("classname")即可,但是到了swift中变的麻烦多了 swift中如果要将字符串 换为类型需要以下几个步骤 1.获取包 var name = Bundle.main.object(forInfoDictionaryKey: "CFBundleExecutable") as? String //这是获取项目的 ...