Используя C#, мне нужно сделать дополнительную работу, если функция A()
была вызвана непосредственно перед функцией C()
. Если какая-либо другая функция была вызвана между A()
и C()
, тогда я не хочу делать эту дополнительную работу. Любые идеи, требующие наименьшего количества дублирования кода?Как автоматически сбросить логическое значение, когда на C# вызывается другой метод?
Я стараюсь избегать добавления строк, таких как flag = false;
, в каждую функцию B1
.. BN
.
Вот очень простой пример:
bool flag = false;
void A()
{
flag = true;
}
void B1()
{
...
}
void B2()
{
...
}
void C()
{
if (flag)
{
//do something
}
}
Приведенный выше пример просто использовал простой случай, но я открыт для использования нечто иное, чем булевы. Важно то, что я хочу быть в состоянии установить и сбросить флаг рода, так что C()
знает, как вести себя соответственно.
Благодарим за помощь. Если вам потребуются разъяснения, я отредактирую свой пост.
Будут ли несколько потоков собираться? т. е. нужно ли это быть потокобезопасным? – womp