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

    }

  • 相关阅读:
    Sass代码重用----Sass继承
    Sass代码重用
    Scss基本运算-------颜色运算
    Scss基本运算-------字符运算
    Scss基本运算-------数字运算
    7.Scss的基本运算
    6.Scss注释
    css横竖屏判断
    禁止页面缩放及meta便签常用属性
    微信小程序 错误记录
  • 原文地址:https://www.cnblogs.com/wslpf/p/9386388.html
Copyright © 2011-2022 走看看