zoukankan      html  css  js  c++  java
  • 反射实例化不同类型的实例

    项目中经常会用反射来实例化对象,根据参数不同实例化不同类型的实例;

    1,定义接口

    public interface IOtherAudit
    { ResultDTO GetResult(AuditUserDTO userDto); }

    2,根据需要实现两套接口

    public class Test1_AuditService : IOtherAudit
    {
            public AuditResultDTO GetResult(AuditUserDTO userDto)
            {
              //TODO:业务逻辑代码
            }
    }
    public class Test2_AuditService : IOtherAudit
    {
            public AuditResultDTO GetResult(AuditUserDTO userDto)
            {
              //TODO:业务逻辑代码
            }
    }

    3,反射得到相关实例

    public AuditResultDTO GetResult(AuditUserDTO userDto)
     {
          //获取需要实例化的类型
          Type type = Type.GetType("demo.test.Service." + userDto.typeName + "Service,demo.test.Service");
          //实例化对象
          IOtherAudit service = Activator.CreateInstance(type) as IOtherAudit;
          //获取审核结果
          AuditResultDTO result = service.GetResult(userDto);
    return result; }
  • 相关阅读:
    例7-13
    例7-11
    例7-1
    例6-5
    例6-3
    例6-2
    例6-1
    例5-9
    例5-8
    例5-7
  • 原文地址:https://www.cnblogs.com/Gylianger/p/11226701.html
Copyright © 2011-2022 走看看