我有一段代码在一个中等复杂的重试和尝试/捕获逻辑中执行“文件放置”操作。这工作正常,它看起来大致是这样的:
while (...) {
try {
FilePut(source, destination)
}
catch () {
//Check exception type, possibly re-throw, possibly return, possibly increment
//counters being checked by while loop
}
}
这个逻辑的细节不是问题。但我意识到我还有其他几个操作也需要在同一种逻辑中执行,我想避免在我的应用程序周围复制和粘贴这个逻辑。我想将它移到一个函数中并重用该函数。该函数必须对要调用的操作进行某种引用,并且 try 逻辑将执行该操作(文件放置、文件获取等)。
这似乎是一个委托的好地方,但问题是,这些操作中的每一个都有不同的签名,所以我不确定如何编写我的上述逻辑来调用“任何”操作。
有没有在 C# 中执行此操作的好方法?