我有两个 C# 方法 RegisterTasks() 和 WaitForAll(),每当调用 RegisterTasks() 时,也必须在同一个代码块中调用 WaitForAll()。只是想知道是否有办法告诉 C# 编译器确保 WaitForAll() 总是与 RegisterTasks() 一起出现,否则会给出编译错误?谢谢~
问问题
79 次
4 回答
5
降低 and 的可见性RegisterTasks()
,WaitForAll()
并公开一个调用它们的方法。
于 2013-03-22T03:59:32.607 回答
2
正如其他人所说,简短的回答是否定的。
我假设这些方法是分开的,因为调用者可能希望在它们之间执行其他代码。您可能希望考虑创建一个组合方法,该方法将委托作为参数,然后在需要时调用该委托。
于 2013-03-22T04:01:51.110 回答
0
不可以。您需要正确记录合同并相信最终用户会正确使用这些方法。
于 2013-03-22T03:58:37.217 回答
0
不,但你可以做一些设计。例子:
public void RegisterTasks(){
// do something
WaitForAll();
}
或者
public void RegisterTasks(){
// do something
privateWaitForAll();
}
public void WaitForAll(){
// do something
privateWaitForAll();
}
private void privateWaitForAll(){
// do something
}
于 2013-03-22T04:01:56.413 回答