zoukankan      html  css  js  c++  java
  • 工厂和反射的使用方法

    大家好!话不多说看代码!!!

    首先我们先创建一个工厂类

    /// <summary>

    /// 工厂类
    /// </summary>
    public class Gfactory<T>
    {
    //获取配置文件节点值
    static string assemblyName = ConfigurationManager.AppSettings["DBName"].ToString();

    public static T CreateFactory(string typeName)
    {
    //动态加载程序集(从配置文件中获取)
    Assembly ass = Assembly.Load(assemblyName);
    //创建类的实例
    T t = (T)ass.CreateInstance(assemblyName + "." + typeName);
    return t;
    }

    }

    然后是BLL类的调用方法

    public class BaseBLL<T> where T : class,new()
    {


    // IOrder prod = Factory.DataAccess<IOrder>.CreateFactory("OrderDAL");

    // 定义成员,负责接收工厂返回的对象
    public Interface1<T> obj;

    public BaseBLL(string typeName)
    {
    //调用工厂创建对象
    obj = Factory.Gfactory<Interface1<T>>.CreateFactory(typeName);
    }

    }

    ///这个是操作的BLL下面的类

    public class FeedBLL : BaseBLL<你要操作的Model>
    {

    /// <summary>
    /// 产品业务逻辑层
    /// </summary>
    static string typeName = "你要使用的DAL名称";

    private 接口名称 IFee;

    /// <summary>
    /// 类的构造函数,通过base访问父类的构造函数,并且传值
    /// </summary>
    public FeedBLL()
    : base(typeName)
    {
    IFee = (接口名称 )base.obj; // 通过base调用父类的成员
    }

    }

  • 相关阅读:
    PHP 批量生成静态文件目录代码
    PHP 导出Excel 文档
    Samba Server 配置
    PHP curl超时问题
    php ci 2.0框架 ORM
    YII 的基本CURL操作
    PHP 操作socket 实现简易聊天室
    PHP simplexml_load_string 过滤<![CDATA[XXXX]]>
    PHP 获取当天 凌晨 时间戳常用代码
    2019年值得你使用的20大开发工具
  • 原文地址:https://www.cnblogs.com/wslpf/p/9386388.html
Copyright © 2011-2022 走看看