以下でやりたいように、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) を保存/再読み込みできません。