如何接受方法 C# 上的代码块

How to accept a code block on a method C#

我正在为 C# 编写一个扩展库,我想知道是否可以在方法调用中接受代码块。如下所示:

foo()
{
  var bar = 0;
};

或者像这样的东西也可以:

foo(
{
var bar = 0; //As an argument to the method 
});

您可以传入一个 delegate/lambda 来完成此操作。

public void foo(Action del)
{
    var local = del;
    if (local != null)
    {
        local();
    }
}

foo(() => 
{
var bar = 0;
});

你可以阅读更多here