В приведенном ниже коде я передаю метод B как действие, которое будет выполняться над объектами в методе IterateObjects.
Я хотел бы спросить, могу ли я явно объявить метод в аргументе вместо передачи его по имени, что-то вроде этого:
a.IterateObjects(delegate void(string s){//method body})
Это не правильно, но я уверен, что видел, как что-то подобное работает. Могли бы вы, пожалуйста, посоветовать? Спасибо
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);
}
}