Assembly assembly = Assembly.LoadFrom( "Draw.dll");
Type t = assembly.GetType( "DrawBitmap.Class1");
object[] args = new object[] { GetValue(), ys,Value };
mslFirstControl1.Bitmap = (Bitmap)t.InvokeMember("DrawMath", BindingFlags.DeclaredOnly | BindingFlags.Public | BindingFlags.Static | BindingFlags.InvokeMethod, null, null, args);
我调用draw.dll里面一个方法DrawMath(ArrayList DrawValue, Yanse YS, int Type)
不知为什么总说找不到方法DrawMath(ArrayList DrawValue, Yanse YS, int Type))
DLL里面结构如下
namespace DrawBitmap
{
class Class1
{
public bitmap DrawMath(ArrayList DrawValue, Yanse YS, int Type)
{
................
}
)
}
}
Type t = assembly.GetType( "DrawBitmap.Class1");
object[] args = new object[] { GetValue(), ys,Value };
mslFirstControl1.Bitmap = (Bitmap)t.InvokeMember("DrawMath", BindingFlags.DeclaredOnly | BindingFlags.Public | BindingFlags.Static | BindingFlags.InvokeMethod, null, null, args);
我调用draw.dll里面一个方法DrawMath(ArrayList DrawValue, Yanse YS, int Type)
不知为什么总说找不到方法DrawMath(ArrayList DrawValue, Yanse YS, int Type))
DLL里面结构如下
namespace DrawBitmap
{
class Class1
{
public bitmap DrawMath(ArrayList DrawValue, Yanse YS, int Type)
{
................
}
)
}
}
Assembly asm = Assembly.LoadFrom("Draw.dll");//servlet-dll
Type type = asm.GetType("DrawBitmap.Class1");//servlet-class
object o; o = type.GetConstructor(new Type[] { }).Invoke(new object[] { });
Arraylist list=new ArrayList();
Yanse YS;
int type;
BitMap map=(BitMap)type.GetMethod("DrawMath").Invoke(o, new object[] { list,YS,type });
对计算机来说 这不是一个东西 不是一个结构体 如果你不引用
DEMO.FORM1.YANSE 那你反射到的 只能依靠反射调用.
你可以这样
作一个dll工程
里面定义一个结构是YANSE
然后你那两个工程都饮用它
这样就没问题了
简单的说
就是你把YANSE做成一个dll
然后你调用的类,和class1那个类都饮用YANSE这个dll
这样就可以了
不知道这样说你明白吗
发不出消息去把YANSE做成一个dll然后其它两个类都饮用它就可以解决了
model.dll
给的意见。可以选择不用。