Я не думаю, что есть способ сделать это.
Объект fsi
не имеет никакого способа сделать это, поэтому такой простой подход не сработает. Я полагаю, что внутренне информация хранится в записи FsiDynamicCompilerState
, которую F # Interactive использует для поддержания текущего состояния взаимодействия (вы можете найти ее в "fsi.fs" в источниках).
К сожалению, я не нашел никакого статического свойства, которое вы могли бы использовать для доступа к этому состоянию - оно хранится в виде поля в FsiDynamicCompiler
, которое создается в функции main
и больше нигде не сохраняется. В принципе, вы можете захотеть получить доступ к экземпляру через трассировку стека (но я не смог найти способ получить локальные переменные фрейма стека).
Если вы хотите изменить fsi.exe
, чтобы сделать это возможным, это был бы другой вопрос, но я полагаю, это не то, что вы хотите.