我在設計使用命令模式但泛型的解決方案時遇到了一些麻煩。基本上,我定義了一個通用接口,它只有一個返回通用對象列表的方法。通用泛型列表
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