如何强制两个c#方法在编译时总是一起出现

本文关键字:编译 一起 方法 何强制 两个 | 更新日期: 2023-09-27 18:05:19

我有两个c#方法RegisterTasks()和WaitForAll(),无论何时调用RegisterTasks(), WaitForAll()也必须在相同的代码块中调用。只是想知道是否有一种方法可以告诉c#编译器确保WaitForAll()总是与RegisterTasks()一起出现,并给出编译错误?谢谢~

如何强制两个c#方法在编译时总是一起出现

降低RegisterTasks()WaitForAll()的可见性,并公开调用它们的方法

正如大家所说的那样,简短的答案是否定的。

我假设这些方法是分开的,因为调用者可能希望在它们之间执行其他代码。您可能希望考虑创建一个单一的组合方法,该方法将委托作为参数,然后在需要时调用该委托。

No。您需要正确地记录合同,并相信最终用户能够正确地使用这些方法。

不,但你可以做一些设计。例子:

public void RegisterTasks(){
  // do something
  WaitForAll();
}

public void RegisterTasks(){
  // do something
  privateWaitForAll();
}
public void WaitForAll(){
  // do something
  privateWaitForAll();
}
private void privateWaitForAll(){
  // do something
}