Примерно так:
void Foo(Action<int> m)
{
int a = 5;
m(a);
}
void RegularFoo()
{
Foo(val => // Or: Foo(delegate(int val)
{
Console.WriteLine(val);
});
}
Action<T>
- это делегат, который принимает ровно один аргумент указанного вами типа (в данном случае, int
), который выполняетничего не возвращая.Также см. Общую ссылку на делегат C # .
. Для такого простого случая это довольно просто.Однако я полагаю, что между блоками в Objective-C и делегатами в C # существуют некоторые семантические / технические различия, которые, вероятно, выходят за рамки этого вопроса.