应用反射机制,具体的可以看SDK文档,很容易的
解决方案 »
- 关于textbox数据绑定问题
- 关于socket断开后System.IO.IOException异常
- 判断字符串中是否有数字
- 紧急求救:何在C#中将文本和图片转换成长二进制存放在access数据库中,又如何从数据库中的ole类型字段中读出数据!!!
- 关于重新安装VS2010 c# express
- 大家遇到类似 xml 格式的文本如何处理的?
- 请问各位高手:用inner join 连接成的表如何加代码,才能用sqlDataAdapter.Update(dataSet,dataSet[0].TableName)更新数据库???
- 串口通信
- 找不到类型或命名空间名称“DLLImport”
- 累加和校验的问题,麻烦大家了
- 中、英文字符串混合处理的问题?
- 关于窗口的简单问题,大家近来看看
http://chs.gotdotnet.com/QuickStart/howto/default.aspx?url=/quickstart/howto/doc/Directory.aspx创建实例看这里
http://chs.gotdotnet.com/QuickStart/howto/default.aspx?url=/quickstart/howto/doc/GetTypes.aspx
ArrayList dllList=new ArrayList();
Foreach(string f in Directory.GetFiles("c:\", "*.dll")
{
dllList.Add( Assembly.LoadFrom(f) );
}
---------------------------------------
实际上这样的程序是没有意义的,因为你无法控制加载进来的程序集。
因此,你应该在主程序声明一个接口,然后在dll中实现这个接口,这样主程序就可以通过调用接口来控制加载进来的程序集了。这其实也就是.net中插件的实现方法.
{
Assembly a=Assembly.Load(f);
Type[] types=a.GetTypes();
foreach(Type type in types)
{
if(type.BaseType==typeof(Control)
{
Control c=(Control)Activator.CreateInstance(type)
}
}
}