Не могли бы вы сказать мне, пожалуйста, есть ли способ в C # приостановить и возобновить выполнение программы, как я хотел бы сделать ниже?
Или у вас есть идея, как сохранить / загрузить стек вызовов текущего потока?
Я ищу решение, которое вообще не создает новый поток.
public class MyClass : InterruptableClass
{
int x;
public void Fn1()
{
x = 1;
this.Interrupt();
x = 2;
}
}
static class Program
{
static void Main()
{
MyClass c = new MyClass();
c.Fn1();
// Now c.x is 1
if (c.IsInterrupted)
{
c.ResumeExecution();
// Now c.x is 2
}
}
}
К сожалению, я не могу сохранить / перезагрузить стек вызовов (StackTrace / StackFrame).