惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

B
Blog RSS Feed
量子位
Recent Announcements
Recent Announcements
T
The Blog of Author Tim Ferriss
美团技术团队
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Blog — PlanetScale
Blog — PlanetScale
H
Help Net Security
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - Franky
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
宝玉的分享
宝玉的分享
大猫的无限游戏
大猫的无限游戏
V
Visual Studio Blog
博客园 - 聂微东
aimingoo的专栏
aimingoo的专栏
Microsoft Security Blog
Microsoft Security Blog
U
Unit 42
J
Java Code Geeks
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
IT之家
IT之家
Hugging Face - Blog
Hugging Face - Blog
腾讯CDC
L
LangChain Blog

博客园 - rudyshen

我的自信到哪里去啦 了解一下自己 最近失业啦 XtraGrid控件3——3种GridView的属性 C#命名规范,控件、数据类型、ADO.NET等 C# 跳转语句(break,continue,goto,return,throw) Winform中通过一个字符串定位到和字符串相等ID的控件(将字符串转换成相应的控件名称) - rudyshen - 博客园 用户控件笔记<原创> XML笔记<原创> 什么时候应当使用interface?什么时候应当使用abstract class? XML操作<转> 怎样从DevExpress 7.1.1升级到DevExpress 7.3.5<原创> 怎样从DevExpress 7.1.1升级到DevExpress 7.3.5<原创> (C#)利用反射动态调用类成员[转载] Net中的反射使用入门 DevExpress 7.3.5 笔记 C#控件属性 DevExpress 组件ToolBar、PopupMenu 使用有感 转 实现QQ中消息窗体闪烁功能 转
程序集的完全限定名与动态加载程序
rudyshen · 2008-04-05 · via 博客园 - rudyshen


Type T = typeof(KQV1.DataAccess.ConnectionBuilder);
            string s = T.Assembly.FullName.ToString();

            Assembly SampleAssembly = Assembly.Load(s);

            MessageBox.Show(s);

private Form LoadFromAsmbl(string strAsmblPath, string strClassName)
        
{
            
// 验证你的程序集是不是存在,你的总不能去引用一个不存在的东西吧?
            if(!File.Exists(strAsmblPath))
            
{
                MessageBox.Show(
"Assembly Not Exists!""Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                
return null;
            }


            
// 这里就加载程序集了,有很多种方式。去MSDN上看看吧
            Assembly asmbl = null;
            
try
            
{
                asmbl 
= Assembly.LoadFrom(strAsmblPath);
                
if (asmbl == null)
                
{
                    
throw new Exception("Fail to load assembly " + strAsmblPath);
                }

            }

            
catch(Exception e)
            
{
                MessageBox.Show(e.Message, 
"Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                
return null;
            }


            
// 实例化你要的对象,如果成功的话就没问题了*_*
            Form frmController = null;
            
try
            
{
                frmController 
= (Form)asmbl.CreateInstance(strClassName);
                
if (frmController == null)
                
{
                    
throw new Exception("Fail to create instance of " + strClassName);
                }

            }

            
catch(Exception e)
            
{
                MessageBox.Show(e.Message, 
"Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                
return null;
            }


            
// 到这里你就可以放心了*_*
            return frmController;
        }