我有两个C#方法RegisterTasks()和WaitForAll(),每当调用RegisterTasks()时,WaitForAll()也必须在同一个代码块中调用。只是想知道是否有办法告诉C#编译器确保WaitForAll()总是与RegisterTasks()一起出现,否则给出编译错误? 感谢〜
答案 0 :(得分:5)
降低RegisterTasks()
和WaitForAll()
的曝光度,并公开一种调用它们的方法。
答案 1 :(得分:2)
正如其他人所说,简短的答案是否定的。
我认为这些方法是分开的,因为调用者可能希望在它们之间执行其他代码。您可能希望考虑创建一个组合方法,该方法将委托作为参数,然后在需要时调用该委托。
答案 2 :(得分:0)
没有。您需要正确记录合同并信任最终用户正确使用这些方法。
答案 3 :(得分:0)
不,但你可以做一些设计。例如:
public void RegisterTasks(){
// do something
WaitForAll();
}
或者
public void RegisterTasks(){
// do something
privateWaitForAll();
}
public void WaitForAll(){
// do something
privateWaitForAll();
}
private void privateWaitForAll(){
// do something
}