gpt4 book ai didi

C#重构代码

转载 作者:太空宇宙 更新时间:2023-11-03 18:41:25 24 4
gpt4 key购买 nike

目前我有这样的代码

Status("Start Step 1");
result = Step1();
Status("End Step 1", result);

Status("Start Step 2");
result = Step2();
Status("End Step 2", result);

Status("Start Step 3");
result = Step3();
Status("End Step 3", result);

是否有可能以某种方式重构此代码并摆脱状态行。 -- 然而,在每个步骤的开始和结束时更新状态非常重要。

我考虑过将状态行移动到 Step1、2、3 调用中,但这只会使方法变得困惑。

最佳答案

public void ExecuteAndLog(Func<T> func, string startMessage, string endMessage) {
Status(startMessage);
var result = func;
Status(endMessage, result);
}

明显的调用

您可以根据需要进行细化。例如,在之前的基础上构建:

public void ExecuteAndLog(Func<T> func, string message) {
ExecuteAndLog(func, "Start " + message, "End " + message);
}

使调用更简单甚至更均匀

public void ExecuteAndLog(Func<T> func, int stepNumber) {
ExecuteAndLog(func, String.Format("Step {0}", stepNumber));
}

建立在以前的基础上。所以现在你可以说

ExecuteAndLog(Step1, 1);
ExecuteAndLog(Step2, 2);
ExecuteAndLog(Step3, 3);

关于C#重构代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8395345/

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