c# – 如何在循环中设置Type类型的泛型变量?

前端之家收集整理的这篇文章主要介绍了c# – 如何在循环中设置Type类型的泛型变量?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想通过调用不同类型的泛型方法在这样的循环中做一些类似的过程.

AAA,BBB都是班级. CreateProcessor是MyProcessor类中的通用方法.

new List<Type> {typeof (AAA),typeof (BBB)}.ForEach(x =>
{
    var processor = MyProcessor.CreateProcessor<x>(x.Name);
    processor.process();
});

这不编译,我得到错误说Cannnot解析符号x.

从技术上讲,如何实现呢? (我知道策略模式更好……)

解决方法

Sorry,I updated my question. I intended to call a generic method actually.

var method = typeof(MyProcessor).GetMethod("CreateProcessor",new Type[] { typeof(string) });
new List<Type> { typeof(AAA),typeof(BBB) }.ForEach(x =>
{
    dynamic processor = method.MakeGenericMethod(x).Invoke(null,new[] { x.Name });
    processor.process();
});
原文链接:https://www.f2er.com/csharp/97855.html

猜你在找的C#相关文章