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

推荐订阅源

量子位
S
Securelist
MyScale Blog
MyScale Blog
Jina AI
Jina AI
罗磊的独立博客
The Cloudflare Blog
美团技术团队
博客园 - 叶小钗
阮一峰的网络日志
阮一峰的网络日志
博客园 - 三生石上(FineUI控件)
月光博客
月光博客
雷峰网
雷峰网
小众软件
小众软件
aimingoo的专栏
aimingoo的专栏
大猫的无限游戏
大猫的无限游戏
博客园 - Franky
博客园 - 聂微东
Y
Y Combinator Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
MongoDB | Blog
MongoDB | Blog
T
Tailwind CSS Blog
Attack and Defense Labs
Attack and Defense Labs
博客园_首页
Latest news
Latest news
Apple Machine Learning Research
Apple Machine Learning Research
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
The Hacker News
The Hacker News
G
GRAHAM CLULEY
Simon Willison's Weblog
Simon Willison's Weblog
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
P
Proofpoint News Feed
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
U
Unit 42
D
Docker
Webroot Blog
Webroot Blog
N
Netflix TechBlog - Medium
T
Tor Project blog
C
Cyber Attacks, Cyber Crime and Cyber Security
L
LINUX DO - 最新话题
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
The Last Watchdog
The Last Watchdog
B
Blog
Recent Announcements
Recent Announcements
GbyAI
GbyAI
Microsoft Azure Blog
Microsoft Azure Blog
Security Latest
Security Latest
V2EX - 技术
V2EX - 技术
N
News | PayPal Newsroom
Microsoft Security Blog
Microsoft Security 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;
        }