namespace TestSpace
{
delegate object TestDelegate(object value);
public class TestClass
{
public TestClass()
{
}
public string GetValue(string value)
{
return value;
}
}
}
在有DLL的情况下
Assembly a = Assembly.Load("TestSpace");
object obj = a.CreateInstance("TestSpace.TestClass");
但是如果没有DLL上面的写法就出错了,本以为反射一定要有DLL不过换了一种方式却可以
Assembly a = Assembly.GetAssembly(Type.GetType("TestSpace.TestClass"));object obj1 = a.CreateInstance("TestSpace.TestClass");
我有些奇怪,不知道什么原因
粗略的又调试了一下,应该是这样的在没有dll情况下反射的是本程序集下的,也就是说当前程序集已经加载了