asp.net
反射用到的命名空间是
//反射命名空间
using System.Reflection;
using System.Reflection;
引用了命名空间以后,
如何
通过反射来动态获得dll文件里的方法和属性呢?
下面是一个测试方法:
helloword.dll是我之前编译好,放在 网站 根目录下的bll文件夹里,helloword.dll.里面有一个hello类。类里有一个方法GetString();简单返回一个字符串。
下面是一个测试方法:
helloword.dll是我之前编译好,放在 网站 根目录下的bll文件夹里,helloword.dll.里面有一个hello类。类里有一个方法GetString();简单返回一个字符串。
protected void testReflation()
{
Assembly ass = Assembly.LoadFrom(Server.MapPath("~/bll/helloword.dll"));
Type[] a = ass.GetTypes();
foreach (Type t in a)
{
if (t.FullName == "helloword.hello")
{
object o = Activator.CreateInstance(t);
MethodInfo mi = t.GetMethod("GetString");
string value= mi.Invoke(o, null).ToString();
Response.Write(value);
}
}
}
{
Assembly ass = Assembly.LoadFrom(Server.MapPath("~/bll/helloword.dll"));
Type[] a = ass.GetTypes();
foreach (Type t in a)
{
if (t.FullName == "helloword.hello")
{
object o = Activator.CreateInstance(t);
MethodInfo mi = t.GetMethod("GetString");
string value= mi.Invoke(o, null).ToString();
Response.Write(value);
}
}
}