• 工厂和反射的使用方法


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

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

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

    }

  • 相关阅读:
    [swustoj 411] 售货员的难题
    白书P61
    白书P60
    [ZOJ 3471] Most Powerful
    [HDU 3001] Travelling
    [转] acmer必看的26个对acm态度
    [HDU 1254] 推箱子
    [POJ 3311] Hie with the Pie
    [POJ 3254] Corn Fields
    power
  • 原文地址:https://www.cnblogs.com/wslpf/p/9386388.html
Copyright © 2020-2023  润新知