Есть своего рода интерпретатор. Он принимает список команд на исполнение, выполняет их, и может быть прерван из вне. Необходимо возобновлять работу интерпретатора с прерванного места, даже если оно произошло в момент выполнения команды. Например если команда какая-то такая
void Command()
{
Console.WriteLine("1");
*прерывание*
Console.WriteLine("2");
}
То интерпретатор при повторном запуске должен вывести в консоль "2" и двигаться дальше по списку переданных команд.
Сохранять состояние интерпретатора надо в byte[]. Деталь в том, что прерывания - это абсолютно нормальная штука. Она происходит каждые ~5 команд. Следовательно, должно работать быстро. Вот собственно в этом мой вопрос - сериализация целесообразна для решения задачи?