我正在學習如何使用C#接口, 我讀這artcile: http://www.codeproject.com/Articles/286863/I-Interface數組作爲參數傳遞?
其中一個例子:
public class TaskComposite : ITask
{
public TaskComposite(params ITask[] tasks)
{
this.composedTasks = new List<ITask>();
if(tasks != null)
{
foreach(var task in tasks)
AddTask(task);
}
}
public void Do()
{
foreach(var task in this.composedTasks)
task.Do();
}
public void AddTask(ITask task)
{
if(task != null)
this.composedTasks.Add(task);
}
private List<ITask> composedTasks;
}
描述說:
我們可以組將任務加載到一起以便連續執行。
我創建一個Windows窗體作爲創建TaskComposite類的新實例,但我應該怎麼做?
public partial class FormInterface : Form
{
public FormInterface()
{
InitializeComponent();
}
private void FormInterface_Load(object sender, EventArgs e)
{
ITask[] TaskAry = new ITask[] { };
TaskAry[0] = new TaskClass().Do(); //<=Error
TaskComposite tc = new TaskComposite(TaskAry);
}
class TaskClass : ITask
{
public void Do()
{
Console.WriteLine(DateTime.Now.ToString());
}
}
}
感謝您的詳細解答! – Cheung
@SilverNight沒有問題:)順便說一句,你在winforms應用程序中使用控制檯。默認情況下,你不會看到任何TaskClass的輸出。 –