C# 下动态加载 C#自己写的 DLL 文件(在线等待高手指点,分不够在加) http://www.c-sharpcenter.com/CSNET/dynamicinvoke.asphttp://www.c-sharpcorner.com/Code/2002/April/LoadingAssemblyInfo.asp 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 很急啊~~高手指点一下啦!还有啊~听说 C#写的dll 文件其实只是一个lib 啦~~能不能想我设想的这样用啊~~关键是里面有一个窗体啦~我想能使用那个窗体啦! 这个你只能通过反映映射到这个类,而不能通过dll 完全可用的代码:System.Reflection.Assembly assembly = null;assembly = System.Reflection.Assembly.GetExecutingAssembly();//不需要从类库中加载窗体assembly = System.Reflection.Assembly.LoadFrom(Application.StartupPath + "\\" + myFormDllName);//需要从类库中加载窗体//两种情况可选其一,也可根据需要同时选择Form AppForm = (Form)assembly.CreateInstance("myNameSpace." + FormClassName);//加载窗体AppForm.Show();//显示窗体 to: eTopFancy(你的美丽我的回忆) 我在程序运行中是可以改写或是更新我Dll文件了~可是更新后~在程序里调用dll的效果还是没有改变啊~:(我更新dll的目的就是希望不同的dll连接上去后有不同的窗体和类可以使用啊~~这里能不能再指点一下!搞完就结帐 忘了问如果我这个 dll 文件里有 三个类(MyClass1, MyClass2, MyClass3) 三个窗体(Form1, Form2, Form3)我该怎么分别使用它们?(窗体的我已经知道了你看看是不是下面的用法?)DllForm.Form1 AppForm1 = (DllForm.Form1)assembly.CreateInstance("DllForm.Form1");DllForm.Form2 AppForm2 = (DllForm.Form2)assembly.CreateInstance("DllForm.Form2");DllForm.Form3 AppForm3 = (DllForm.Form3)assembly.CreateInstance("DllForm.Form2");那关于类该怎么调用呢? 后一个问题我搞定了~~上面那个我在程序运行中是可以改写或是更新我Dll文件了~可是更新后~在程序里调用dll的效果还是没有改变啊~:(我更新dll的目的就是希望不同的dll连接上去后有不同的窗体和类可以使用啊~~这里能不能再指点一下!搞完就结帐请再指点一下!!!!!谢谢啦 其实我做的一个项目就是这样的,将一些功能相近的窗体做到一个类库中,然后主窗体对类库中的窗体进行调用。至于类库的类的使用,acewang(龍芯*Inside!) 提供的连接上有一些东西,你可以看看。 调用类库中的类的例子:[DllImportAttribute ("mytest.dll")] public static extern int AddTest(int v1, int v2); 好吧,那我也附上一句,用其它的语言,比如Delphi怎么调用呢?C#的动态库没有直接输出例程 使用delphi,调用类库中的窗体可以使用dpk,不过只能在delphi中用,调用类库的方法与此类同。 我希望能在程序运行中重新加载 dll 文件啊~并且让程序能立即(不重启动程序的情况下)立即重新运用新的 dll 文件工作啊!这个地方还望指点一下!!谢谢啦!!!! 求教 Form窗体坐标和屏幕坐标的区别 关于DataTable的问题,求好心人帮助!!! c# 遍历两个Dictionary 修改其中一个 listview 如何实现多列排序 c# 下载图片问题! 动态的把Object对象拆箱类型转换成原来的类对象,请教达人 從access讀出二進制文件時出錯................急急急急急急急急急急急急急急急急急 关于winform多线程程序在win7 64位系统运行问题 如何修改DataGrid控件中表的列的宽度显示? 上海有什么公司要C#的程序员阿,我想加入!!!! 急!高手请进! 请教一行代码,我急啊
还有啊~
听说 C#写的dll 文件其实只是一个lib 啦~~
能不能想我设想的这样用啊~~关键是里面有一个窗体啦~
我想能使用那个窗体啦!
System.Reflection.Assembly assembly = null;
assembly = System.Reflection.Assembly.GetExecutingAssembly();//不需要从类库中加载窗体
assembly = System.Reflection.Assembly.LoadFrom(Application.StartupPath + "\\" + myFormDllName);//需要从类库中加载窗体
//两种情况可选其一,也可根据需要同时选择
Form AppForm = (Form)assembly.CreateInstance("myNameSpace." + FormClassName);//加载窗体
AppForm.Show();//显示窗体
可是更新后~
在程序里调用dll的效果还是没有改变啊~:(
我更新dll的目的就是希望不同的dll连接上去后有不同的窗体和类可以使用
啊~~这里能不能再指点一下!搞完就结帐
三个窗体(Form1, Form2, Form3)
我该怎么分别使用它们?(窗体的我已经知道了你看看是不是下面的用法?)
DllForm.Form1 AppForm1 = (DllForm.Form1)assembly.CreateInstance("DllForm.Form1");
DllForm.Form2 AppForm2 = (DllForm.Form2)assembly.CreateInstance("DllForm.Form2");
DllForm.Form3 AppForm3 = (DllForm.Form3)assembly.CreateInstance("DllForm.Form2");那关于类该怎么调用呢?
我在程序运行中是可以改写或是更新我Dll文件了~
可是更新后~
在程序里调用dll的效果还是没有改变啊~:(
我更新dll的目的就是希望不同的dll连接上去后有不同的窗体和类可以使用啊~~这里能不能再指点一下!搞完就结帐请再指点一下!!!!!谢谢啦
[DllImportAttribute ("mytest.dll")]
public static extern int AddTest(int v1, int v2);
这个地方还望指点一下!!谢谢啦!!!!