添加yourdll引用
using yourdll
yournameplace.classA a=new classA();
yournameplace.classB b=new classB();//返回的类对象
.....
.....
b=a.yourmethod();
using yourdll
yournameplace.classA a=new classA();
yournameplace.classB b=new classB();//返回的类对象
.....
.....
b=a.yourmethod();
2)编译完之后,在 C++ 里添加 COM 引用,把这个类库的 tlb 包含进来...还有一些想不起来了。
再
using namespace
就可以用了
private void button1_Click(object sender, System.EventArgs e)
{
Assembly asm = Assembly.LoadFile(Application.StartupPath +"\\WindowsControlLibrary1.dll");
Type formType = asm.GetType("WindowsControlLibrary1.Form1");
Form frm = OpenForm(formType);
this.Hide();}Form OpenForm(Type formType)
{
Form frm = formType.InvokeMember(null,
BindingFlags.DeclaredOnly
| BindingFlags.Public
| BindingFlags.NonPublic
| BindingFlags.Instance
| BindingFlags.CreateInstance,
null, null, null) as Form;
//frm.MdiParent = this;
frm.Owner =this;
frm.Show();
return frm;
}如果是Mdi窗体就用frm.MdiParent = this;如果是普通窗体就用frm.Owner =this;在WindowsControlLibrary1.dll里有一个按钮button1可以返回主窗体,同样
this.Owner.Show();
this.Close();
如果是MDI窗体就用this.MdiParent.show();
你如果是在 .net工程里引用,如果编译运行时,出现好象是"好像是强名称一类的错误时",
你要用.net工具(开始--程序--.net 2003 dos 界面)对他进行强命名
如:sn.exe -k yourdllname.snk (在强命名时可能会出现错误提示,可以忽略的)
然后把生成的yourdllname.snk考到你工程下面的根目录下,因该可以的了
Form frm = formType.InvokeMember(null,
BindingFlags.DeclaredOnly
| BindingFlags.Public
| BindingFlags.NonPublic
| BindingFlags.Instance
| BindingFlags.CreateInstance,
null, null, null) as Form;如果我我返回的不是Form 类型的对象,而是dll里自定义的类的对象,那该怎么办啊?
先增加引用。然后using namespace(静态调用)