Ejemplo n.º 1
0
        public FsharpEvaluator()
        {
            config = Shell.FsiEvaluationSession.GetDefaultConfiguration();
            var arguments = new string[] { "--noninteractive" };

            _instream      = new StringReader("");
            _errorWriter   = new EventRaisingTextWriter();
            _consoleWriter = new EventRaisingTextWriter();
            _consoleWriter.StreamWritten += _consoleWriter_StreamWritten;
            _errorWriter.StreamWritten   += _errorWriter_StreamWritten;


            session = Shell.FsiEvaluationSession.Create(config, arguments, _instream, _consoleWriter, _errorWriter, null, null);
        }
Ejemplo n.º 2
0
 public void Dispose()
 {
     if (_stream != null)
     {
         _stream.Dispose();
         _stream = null;
     }
     if (_consoleWriter != null)
     {
         _consoleWriter.Dispose();
         _consoleWriter = null;
     }
     if (_errorWriter != null)
     {
         _errorWriter.Dispose();
         _errorWriter = null;
     }
 }
Ejemplo n.º 3
0
        public PythonEvaluator()
        {
            var options = new Dictionary <string, object>
            {
                ["DivisionOptions"] = PythonDivisionOptions.New
            };

            _errorWriter   = new EventRaisingTextWriter();
            _consoleWriter = new EventRaisingTextWriter();
            _consoleWriter.StreamWritten += _consoleWriter_StreamWritten;
            _errorWriter.StreamWritten   += _errorWriter_StreamWritten;
            _stream = new MemoryStream();

            _engine = Python.CreateEngine(options);
            _engine.Runtime.IO.SetOutput(_stream, _consoleWriter);
            _engine.Runtime.IO.SetErrorOutput(_stream, _errorWriter);
            _scope = _engine.CreateScope();
        }
Ejemplo n.º 4
0
 public void Dispose()
 {
     if (session != null)
     {
         (session as IDisposable)?.Dispose();
         session = null;
     }
     if (_consoleWriter != null)
     {
         _consoleWriter.Dispose();
         _consoleWriter = null;
     }
     if (_errorWriter != null)
     {
         _errorWriter.Dispose();
         _errorWriter = null;
     }
     if (_instream != null)
     {
         _instream.Dispose();
         _instream = null;
     }
 }