• 工厂和反射的使用方法


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

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

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

    }

  • 相关阅读:
    PTA 程序设计题(数据结构第一章)
    (考研)计算机组成原理之计算机系统概论
    C语言复习
    vs2019 scanf 解决 C4996问题
    数据结构之链表
    数据结构之表、栈、队列
    数据结构之算法分析
    数据结构泛型之初接触
    数据结构之递归
    学习参考
  • 原文地址:https://www.cnblogs.com/wslpf/p/9386388.html
Copyright © 2020-2023  润新知