在C#和反射中从接口类型转换为具体类型

精巧的

嗨,有几个实现一个接口的类。我想将ILoad列表中的各项转换为这样的具体类,我想调用工厂转换器来获得另一种类型。

 List<ILoad> list = new List<ILoad>();
    list = GetALlIloads();

    Factory f = new Factory();

     foreach (var item in list)
      {
         var typeOfObject = item.GetType();
         var concreteType = **(typeOfObject)**item;

         var converted = f.ConvertToMeasure(concreteType );
      }

     public class A: Iload
     {
       // something
     } 

     publicclass B: ILoad
     {
       //Something
     }

    public class Factory
    {
     public List<Measure> ConvertToMeausre(A model)
      {
        return some List<Measure>
      }

     public List<Measure> ConvertToMeausre(B model)
      {
        return some List<Measure>
      }
    }
格伦迪

您可以像这样使用动态类型

List<ILoad> list = new List<ILoad>();
list = GetALlIloads();

Factory f = new Factory();

foreach (var item in list)
{
    dynamic concreteType = item;
    var converted = f.ConvertToMeasure(concreteType);
}

public class A: Iload
{
  // something
} 

public class B: ILoad
{
   //Something
}

public class Factory
{
    public List<Measure> ConvertToMeausre(A model)
    {
        return some List<Measure>
    }

    public List<Measure> ConvertToMeausre(B model)
    {
        return some List<Measure>
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用C#和反射将接口类型转换为具体类型

来自分类Dev

将具体的实现类型转换为通用接口类型

来自分类Dev

为什么我需要在C#显式实现中将'this'转换为接口类型?

来自分类Dev

C#属性,通过接口访问时返回接口类型,而通过具体类访问时返回具体类型

来自分类Dev

C# 反射转换为变量类型

来自分类Dev

在这里将构造函数参数从接口类型转换为具体类类型是否错误?

来自分类Dev

Typescript将未知类型转换为接口类型

来自分类Dev

将具体类型的ICollection转换为具体类型接口的ICollection

来自分类Dev

Swift:从接口类型数组转换为对象数组崩溃

来自分类Dev

将使用URLClassLoader创建的对象转换为接口类型

来自分类Dev

Swift:从接口类型数组转换为对象数组崩溃

来自分类Dev

在VBA中强制转换为接口类型

来自分类Dev

在C#中强制转换为未知类型的反射

来自分类Dev

在C#中强制转换为反射类型

来自分类Dev

在C#中强制转换为反射类型

来自分类Dev

无法将实例类型转换为实例实现接口的接口类型

来自分类Dev

无法将实例类型转换为实例实现接口的接口类型

来自分类Dev

C#:定义类和接口类型的参数的任何方法吗?

来自分类Dev

无法将类型为'System .__ ComObject'的Com对象转换为接口类型VsRunningDocumentTable4

来自分类Dev

将继承类型的对象列表转换为新的接口类型列表

来自分类Dev

无法将类型[具体]隐式转换为[接口]

来自分类Dev

将接口列表转换为具体类型列表

来自分类Dev

如何将接口转换为具体类型

来自分类Dev

关闭无法隐式转换为通用接口类型的成员的通用接口的类的实例

来自分类Dev

组合的类和接口类型

来自分类Dev

接口类型推断

来自分类Dev

为什么C#不能VB编译器捕获无效的对接口类型的隐式转换?

来自分类Dev

在Linq表达式中将对象转换为通用接口类型

来自分类Dev

无法将类型为“ System .__ ComObject”的COM对象转换为接口类型为“ Microsoft.Office.Interop.Excel.Worksheets”

Related 相关文章

  1. 1

    使用C#和反射将接口类型转换为具体类型

  2. 2

    将具体的实现类型转换为通用接口类型

  3. 3

    为什么我需要在C#显式实现中将'this'转换为接口类型?

  4. 4

    C#属性,通过接口访问时返回接口类型,而通过具体类访问时返回具体类型

  5. 5

    C# 反射转换为变量类型

  6. 6

    在这里将构造函数参数从接口类型转换为具体类类型是否错误?

  7. 7

    Typescript将未知类型转换为接口类型

  8. 8

    将具体类型的ICollection转换为具体类型接口的ICollection

  9. 9

    Swift:从接口类型数组转换为对象数组崩溃

  10. 10

    将使用URLClassLoader创建的对象转换为接口类型

  11. 11

    Swift:从接口类型数组转换为对象数组崩溃

  12. 12

    在VBA中强制转换为接口类型

  13. 13

    在C#中强制转换为未知类型的反射

  14. 14

    在C#中强制转换为反射类型

  15. 15

    在C#中强制转换为反射类型

  16. 16

    无法将实例类型转换为实例实现接口的接口类型

  17. 17

    无法将实例类型转换为实例实现接口的接口类型

  18. 18

    C#:定义类和接口类型的参数的任何方法吗?

  19. 19

    无法将类型为'System .__ ComObject'的Com对象转换为接口类型VsRunningDocumentTable4

  20. 20

    将继承类型的对象列表转换为新的接口类型列表

  21. 21

    无法将类型[具体]隐式转换为[接口]

  22. 22

    将接口列表转换为具体类型列表

  23. 23

    如何将接口转换为具体类型

  24. 24

    关闭无法隐式转换为通用接口类型的成员的通用接口的类的实例

  25. 25

    组合的类和接口类型

  26. 26

    接口类型推断

  27. 27

    为什么C#不能VB编译器捕获无效的对接口类型的隐式转换?

  28. 28

    在Linq表达式中将对象转换为通用接口类型

  29. 29

    无法将类型为“ System .__ ComObject”的COM对象转换为接口类型为“ Microsoft.Office.Interop.Excel.Worksheets”

热门标签

归档