C#通过反射动态加载dll,读取module、类、方法、特性,并通过反射+简单工厂+配置文件 实现ioc

调用类:

class Program
{
    static void Main(string[] args)
    {
        SafeInvoke(() =>
        {//通过委托实现通用的异常处理
            #region 通过反射创建对象
            {
                //1 动态加载     默认加载当前路径的dll文件,不需要后缀
                Assembly assembly = Assembly.Load("Work.DB.Sqlserver");
                Assembly assembly1 = Assembly.LoadFile(@"E:\winningjob\C#workspace\Projects\MyHomeWork\Work.DB.Sqlserver\bin\Debug\Work.DB.Sqlserver.dll");
                Assembly assembly2 = Assembly.LoadFrom("Work.DB.Sqlserver.dll");// 可以是当前路径  也可以是完整路径


                //2 获取类型 (获取类型信息的方式不止一个)
                Type typeDBHelpher = assembly.GetType("Work.DB.Sqlserver.DBHelper");


                //3 创建对象 
                object oDBHelper = Activator.CreateInstance(typeDBHelpher);


                //4 调用方法 实例方法、静态方法、重载方法 选修:调用私有方法 调用泛型方法
                {//无参数
                 
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值