C#使用反射Assembly.Load().CreateInstance()方法反射实例化类的时候,提示“未能计算表达式的值”
以下为我写的一个C#反射的例子,
在使用反射Assembly.Load().CreateInstance()方法反射实例化类的时候,提示“未能计算表达式的值”,实在不知道该怎么解决望网上大牛帮忙指点一下。十分感谢。急急急……
public partial class _Default : Page
{
protected void Page_Load(object sender, EventArgs e)
{
Assembly assembly = Assembly.LoadFile(@"D:\WORK\WebApplication4\WebApplication4\bin\ClassLibrary1.dll");
//此处提示“未能计算表达式的值”
var obj = assembly.CreateInstance("heeh.CS");
//此处可以获得到类型,并且可以或得到里面的属性
var type = assembly.GetType("heeh.CS");
}
}
以下为D:\WORK\WebApplication4\WebApplication4\bin\ClassLibrary1.dll程序记得代码
namespace heeh
{
public class FF
{
public FF()
{
}
public int CS
{
get { return 0; }
set { }
}
}
}
[解决办法]
Assembly asm = Assembly.LoadFile(@"d:\my documents\visual studio 2010\Projects\ClassLibrary1\ClassLibrary1\bin\Debug\ClassLibrary1.dll");
object obj = asm.CreateInstance("heeh.FF");
Type type = asm.GetType("heeh.FF");
MethodInfo[] mi = type.GetMethods();
foreach (MethodInfo m in mi)
Response.Write(m.Name+"</br>");