C#反射运用
test.cs 信息
using System;
using System.Collections.Generic;
using System.Text;
namespace testclass
{
public class Class1
{
public string GetName1()
{
return "Get the name!";
}
public string GetName2(string name)
{
return name;
}
}
}
App代码
class Program
{
static void Main(string[] args)
{
System.Reflection.Assembly ass = System.Reflection.Assembly.LoadFile(@"C:\testclass.dll");
Type type;
object obj;
type = ass.GetType("testclass.Class1");//必须使用名称空间+类名称
obj = ass.CreateInstance("testclass.Class1");//必须使用名称空间+类名称
System.Reflection.MethodInfo method = type.GetMethod("GetName1");//方法的名称
string s = (string)method.Invoke(obj, null); //实例方法的调
Console.WriteLine(s);
method = type.GetMethod("GetName2");
s = (string)method.Invoke(obj, new string[] { "你好!" });
Console.WriteLine(s);
}
}