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

推荐订阅源

Hugging Face - Blog
Hugging Face - Blog
宝玉的分享
宝玉的分享
G
Google Developers Blog
T
Tailwind CSS Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
V
V2EX
V
Visual Studio Blog
博客园 - Franky
S
SegmentFault 最新的问题
Jina AI
Jina AI
爱范儿
爱范儿
The Cloudflare Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
D
DataBreaches.Net
C
Check Point Blog
月光博客
月光博客
P
Proofpoint News Feed
T
The Blog of Author Tim Ferriss
罗磊的独立博客
H
Hackread – Cybersecurity News, Data Breaches, AI and More
MongoDB | Blog
MongoDB | Blog
The GitHub Blog
The GitHub Blog
Y
Y Combinator Blog
Martin Fowler
Martin Fowler

博客园 - 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;
        }