C# dll里main函数如何运行
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# dll里main函数如何运行相关的知识,希望对你有一定的参考价值。
一个解决方案下有两个winform程序
winform1 和winform2
现在我把winform1的类型设置成类库,在生成时会生成winform1.dll
我们都知道winform程序也是main函数为入口的
那如何在winform2里调用winform1.dll 里的main函数来运行winform.dll ?
也就是说怎样从winform1.dll的main入口来启动winform1呢?
因为我不知道 .dll文件里 具体有哪些类,我只想像.exe那样 传个参数给main函数直接运行。。。 我试过把main函数声明成public的 但是会报错的。。
问题解决了 我用配置文件记录dll里的类名 然后根据配置文件动态的反射里面的窗体,然后再show 可惜问题还是得不到解决~ 这样的话就只能是一个进程了,主窗体关了之后其他的也就都关了
至于楼主的问题,你在添加 winform1 时系统自动帮你加了类了,引用 winform1.dll,然后调用该类库里的类创建对象并显示就OK了,这中间的过程.net框架做了很多额外的处理,那些就不是该问题的范畴了。 参考技术B 直接new winform1不就可以了么,为啥要通过main来启动winform1
dll是这样的:
namespace winform1
public class winform1 : Form
调用的时候引用了winform1以后直接new
namespace winform2
public class winform2: Form
public winform2()
winform1.winform1 myform = new winform1.winform1();
winform1.show();
参考技术C 不可能的;exe dll 虽然都是PE文件,但是其也有些本质却别.
exe 是可以独立运行的.dll 则是为其他文件(比如exe)所调用的.其本身不能自己启动.
详情请了解一下 PE 文件/
如果非要dll文件运行. 请把 test.exe 改名为 test.dll 在 [调用运行].
参考资料:自己动手 丰衣足食
参考技术D 用反射.dll组件实现内部方法调用本回答被提问者采纳 第5个回答 2011-05-27 通过类库的主函数来启动程序本身就不符合逻辑,如果一个项目被输出为类库的话就代表开发者不愿意从该项目启动程序,那又何来入口之说呢,兄弟你说呢:)以上是关于C# dll里main函数如何运行的主要内容,如果未能解决你的问题,请参考以下文章
在C#中,main方法的作用是啥,缺少main会有啥样的结果?
Java工程打包jar,里面有一个main函数,怎么用Tomcat执行main函数呢?这个main函数的类继承Runnable