我想通过调用不同类型的泛型方法在这样的循环中做一些类似的过程.
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(); });