我知道這個問題可以通過說foreach(var item in items){item.doSomething()};
來回答,但是我後面的內容稍有不同。這是接口。如何使接口列表執行一個動作
ManagableClass的.cs
public interface ManagableClass : System.IDisposable
{
void Initialize();
}
以下是我想看到我的代碼看起來像
MainManagerClass.cs
public class MainManagerClass: ManagableClass
{
private List<ManagableClass> minions;
public void Initialize()
{
TellMinionsTo(Initialize);
}
public void Dispose()
{
TellMinionsTo(Dispose);
}
private void TellMinionsTo(Action doSomething)
{
foreach (ManagableClass minion in minions)
{
minion.doSomething();
}
}
}
我知道這個代碼那在這裏是行不通的,但是看起來這個應該是在C#中可行。任何人都知道這是可以做到的嗎?如果不是,它不像是世界末日,我會在每種方法中做一個foreach
。
是在每個界面中都將相同的小爪牙的列表嗎?即所有派生類應該工作w。同一個列表? –
爪牙列表將是'ManagableClass'類型,所以他們將擁有2種方法(初始化和處置) –