我们可以在 Getters 中使用委托吗

Can we use Delegates in Getters

我们知道,可以像这样使用 Lambda 函数作为 getter,

private string _name;
public string Name
{
    get => _name;
}

但是,我们可以使用带有委托的匿名函数作为 getter,例如,

private string _name;
public string Name
{
    get => delegate { return _name; };
}

出现编译错误。

委托只是指向方法的指针(过于简单,但是您可以在此处找到详细信息Using Delegates)。所以答案是肯定的。

您可以使用 delegatesactionsfuncs

我给你举个世界上最人为的例子:

private static string _name = "bob";

public delegate string Del(string message);

public static string DoSomething(string message) => message + "1";

private static readonly Del Handler = DoSomething;

public string Name
{
    get => Handler(_name);
}