匿名方法 作用域 c#

本文关键字:作用域 方法 | 更新日期: 2023-09-27 18:34:00

我想知道我们在哪里可以定义匿名方法(匿名函数和lambda语句),因为在某些网站上它只写在函数中,而在某些网站上,它写成我们可以在类级别范围内调用它。

匿名方法 作用域 c#

您几乎可以在任何地方使用匿名函数,包括字段初始值设定项 - 但对于例如字段初始值设定项,您不能使用 this .所以例如:

public class Foo
{
    private int x;
    private Func<int> y = () => 5; // No problem
    private Func<int> z = () => x; // Disallowed, because it captures "this"
}

当然,您也可以在方法中使用它们。我不相信有任何情况可以在属性参数中使用匿名函数,因为它们不是常量表达式。

您可以在另一个方法中定义匿名方法,基本上当您将其作为Delegate参数传递到另一个方法中时。