Хочу сделать что-то типа континюэшенов, только которые сериализуюся и сохраняются на диск.
Но как сделать передачу управления внутри метода? goto в Немерле нет (или я просто не могу найти), а с неймед блоком не могу понять, как работать, и можно ли добиться чего-то похожего.
например преобразовывать:
workflow() : void
{
WriteLine("Раз");
save; // Сохранили контекст
WriteLine("Два");
}
в это:
workflow() : void
{
__state = 1;
when (__state == 1) goto l1:
when (__state == 2) goto l2:
l1:
WriteLine("Раз");
__state++; // save;
// Тут сериализация и выход
l2:
WriteLine("Два");
}