我在设计使用命令模式但使用泛型的解决方案时遇到了一些麻烦。基本上,我已经定义了一个通用接口,它只有一个返回通用对象列表的方法。
public interface IExecute<T>
{
List<T> Execute();
}
public class SimpleExecute : IExecute<int>
{
public List<int> Execute()
{ return a list of ints... }
}
public class Main
{
private List<IExecute<T>> ExecuteTasks; // This is not valid in C#
}
由于泛型的泛型列表无效,我实现了一个非泛型接口 IExceute 并使泛型接口扩展了非泛型接口并能够创建一个列表
public interface IExecute {}
public interface IExecute<T> : Execute
{
List<T> Execute();
}
private List<IExecute> ExecuteTasks;
但是,现在我不确定如何遍历 ExecuteTasks 并调用 execute 方法。
我已尽力解释这个问题。如果您需要进一步解释我的问题,请告诉我。
谢谢