gpt4 book ai didi

c# - 在开始和结束时调用方法 - 在 C# 中是否有更好的方法来执行此操作?

转载 作者:行者123 更新时间:2023-11-30 19:18:16 26 4
gpt4 key购买 nike

我有几个具有以下结构的方法:

    public void doWhatever()
{
methodToPrepareEnvironment();
// do something
methodToResumeEnvironment();
}

我所有的“doWhatever”类型的方法都调用这些准备/恢复方法,所有这些 doWhatever 方法只调用了 1 个准备和 1 个恢复方法。有没有更好的方法来实现这一点,而不必在我所有的 doWhatever 方法的开头和结尾调用 prepare 和 resume 方法?我觉得我在这里缺少一些非常基本的东西。请注意,doWhatever 方法不能组合,它们各自需要独立,并且各自需要准备环境,执行一些任务,然后恢复环境。

谢谢。

最佳答案

通过策略性地使用访问修饰符,您可以确保外部调用始终在方法调用之前和之后进行,并且很少重复,如下所示:

public void DoWhatever()
{
DoAction(DoingWhatever);
}

private void DoingWhatever()
{
// ...
}

private void DoAction(Action action)
{
methodToPrepareEnvironment();

action();

methodToResumeEnvironment();
}

Action 是代表没有返回值的方法的委托(delegate)。

关于c# - 在开始和结束时调用方法 - 在 C# 中是否有更好的方法来执行此操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13453012/

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