• 用反射获取构造函数带参数的实例对象


         经过测试,如果显示声明有参构造函数,用反射实例化的时候,就需要传入构造函数的参数,如果同时声明了有参和无参构造函数 或只声明了无参构造函数则不需要传入参数,直接可以获取实例

      //显示无参构造函数,如果只显示定义了有参构造函数,就不能使用如下代码反射创建实例对象
                //var art = Assembly.LoadFrom(@"F:QNETqijlcms_sql_srcjlcms.Webinjlcms.DAL.dll").CreateInstance("jlcms.DAL.cards");
               
                //用反射创建有参构造函数的实例
                var art = Assembly.LoadFrom(@"F:QNETqijlcms_sql_srcjlcms.Webinjlcms.DAL.dll").CreateInstance("jlcms.DAL.article",false, BindingFlags.Default, null, new object[]{"dt"}  , null, null);
                Console.WriteLine(art.ToString());
                Console.ReadLine();

    article 类代码如下

    using System;
    using System.Data;
    using System.Text;
    using System.Collections.Generic;
    using System.Data.SqlClient;
    using jlcms.DBUtility;
    using jlcms.Common;
    
    namespace jlcms.DAL
    {
        /// <summary>
        /// 数据访问类:article
        /// </summary>
        public partial class article
        {
            private string databaseprefix; //数据库表名前缀
            public article(string _databaseprefix)
            {
                databaseprefix = _databaseprefix;
            }
    }
    }
    

    cards类代码如下


             

  • 相关阅读:
    流畅的python——2 数据结构
    流畅的python——1 数据模型
    cpp3 std::bind
    cpp2 std::forward
    什么是 jQuery EasyUI?
    .Core中什么事依赖注入?
    .net 中datetime? 和 datetime 有什么区别?
    C#生成项目失败 错误列表 CS2001 未能找到源文件 “D:XXXXXX.cs”。
    Docker笔记
    ICollection与IEnumerable
  • 原文地址:https://www.cnblogs.com/tiancai/p/4756651.html
Copyright © 2020-2023  润新知