在下面我通過方法B中作爲操作的代碼在所述IterateObjects方法的對象被perfomed上。 我想問一下我是否能明確聲明該方法的參數,而不是按名稱傳遞它,像這樣的:
a.IterateObjects(delegate void(string s){//method body})
它不是正確的,但我相信,我已經看到了類似的東西的工作。您能否提一些建議?謝謝- C#,申報參數(委託)方法
DelTest a = new DelTest(); //class with method IterateObjects
a.IterateObjects(B) //HERE
private void B(string a)
{
listBox1.Items.Add(a);
}
//another class ....
public void IterateObjects(Action<string> akce)
{
foreach(string a in list)
{
akce(a);
}
}
是的,這是做它在C#2 –
哼的方式,但它爲什麼不適用於Action?該IterateObjects是在不同的類,所以我想用行動作爲參數傳遞給路過這裏 –
Petr
你可以宣佈你的操作是這樣的:IterateObjects(新行動(委託(字符串){/ *做某事* /})); –