我在设计使用命令模式但泛型的解决方案时遇到了一些麻烦。基本上,我定义了一个通用接口,它只有一个返回通用对象列表的方法。通用泛型列表
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方法。
我尽力解释了这个问题。请让我知道你是否需要我的问题的进一步解释。
感谢
如果'IExecute'的实例不是全部都是相同的类型,那么泛型提供了什么好处? – mellamokb 2012-07-30 21:31:53
因此,每个'Execute()'返回'List'对于一些未知的'T'。你想对结果做什么? –
svick
2012-07-30 21:34:45
我将使用反射和类型信息来确定对象类型并根据对象的属性信息确定工作表的名称,然后将它们写回到Excel电子表格中。 – user320587 2012-07-30 21:42:33