gpt4 book ai didi

c# - 使用 lambda 表达式与私有(private)方法

转载 作者:IT王子 更新时间:2023-10-29 04:48:28 25 4
gpt4 key购买 nike

我在 Stack Overflow 上阅读了一个问题的答案,其中包含以下建议代码:

Action<Exception> logAndEat = ex => 
{
// Log Error and eat it
};

try
{
// Call to a WebService
}
catch (SoapException ex)
{
logAndEat(ex);
}
catch (HttpException ex)
{
logAndEat(ex);
}
catch (WebException ex)
{
logAndEat(ex);
}

我的问题是:相对于(在我看来更简单和更明显的)私有(private)方法,使用 LogAndEat 的 lambda 表达式有什么优势(如果有的话)如下:

private void LogAndEat(Exception ex)
{
// Log Error and eat it
}

编辑:感谢您到目前为止的回答,但只是更清楚地重申我的基本问题:在这种情况下哪种方法更好/您会推荐哪种方法? lambda 表达式还是私有(private)方法?

最佳答案

我想您可能会认为这个示例中的 lambda 表达式有点像 Pascal 的 nested functions ,因为它的代码只能由它在其中声明的方法执行。

可以从同一类中的任何方法调用私有(private)方法,而像这样的 lambda 是当前方法的本地方法,因此明确地仅在该上下文中使用。

这真的是我能想到的唯一优势 - 在预期用途方面明确。

关于c# - 使用 lambda 表达式与私有(private)方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3528203/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com