【发布时间】:2010-04-12 23:03:41
【问题描述】:
使用 C#,如果函数 A() 在函数 C() 之前被调用,我需要做一些额外的工作。如果在A() 和C() 之间调用了任何其他函数,那么我不想做那些额外的工作。有什么想法需要最少的代码重复?
我试图避免在每个函数 B1..BN 中添加像 flag = false; 这样的行。
这是一个非常基本的例子:
bool flag = false;
void A()
{
flag = true;
}
void B1()
{
...
}
void B2()
{
...
}
void C()
{
if (flag)
{
//do something
}
}
上面的例子只是使用了一个简单的案例,但我愿意使用布尔值以外的东西。重要的是我希望能够设置和重置各种标志,以便C() 知道如何相应地表现。
感谢您的帮助。如果您需要澄清,我将编辑我的帖子。
【问题讨论】:
-
多个线程会调用A吗?即这需要是线程安全的吗?