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调用父类的成员
    }

    }

  • 相关阅读:
    测试标准学习
    jmeter学习笔记(一)
    Python开篇
    Openstack平台配置云服务器qemu-guest-agent服务
    easyui中datagrid数据行不足时填补空白方法
    guava缓存
    create tablet test like
    cse注册中心与nacos注册中心
    vo转ao
    mysql es 双云 灰度测试 读多写少
  • 原文地址:https://www.cnblogs.com/wslpf/p/9386388.html
Copyright © 2011-2022 走看看