Пример #1
0
        public MainWindow(DumperResolver dumperResolver)
        {
            _scriptEngine = new CSharpScriptEngine();

            DumpOutHelper.OutputAction += str =>
            {
                if (str is null)
                {
                    return;
                }

                //https://stackoverflow.com/questions/1644079/change-wpf-controls-from-a-non-main-thread-using-dispatcher-invoke
                if (Application.Current.Dispatcher.CheckAccess())
                {
                    txtOutput.AppendText(str);
                    txtOutput.AppendText(Environment.NewLine);
                }
                else
                {
                    Application.Current.Dispatcher.BeginInvoke(
                        DispatcherPriority.Background,
                        new Action(() =>
                    {
                        txtOutput.AppendText(str);
                        txtOutput.AppendText(Environment.NewLine);
                    }));
                }
            };

            _dumperResolver = dumperResolver;
            InitializeComponent();
            txtInput.Text = "\"Hello NatashaPad\"";
            txtOutput.AppendText("Output");
        }
Пример #2
0
        public MainViewModel(DumperResolver dumperResolver,
                             INScriptEngine scriptEngine,
                             NScriptOptions scriptOptions,
                             CommonParam commonParam) : base(commonParam)
        {
            _dumperResolver = dumperResolver;
            _scriptEngine   = scriptEngine;
            _scriptOptions  = scriptOptions;

            _input  = "\"Hello NatashaPad\"";
            _output = "Output";

            DumpOutHelper.OutputAction += Dump;

            RunCommand         = new DelegateCommand(async() => await RunAsync());
            UsingManageCommand = new DelegateCommand(UsingManageShow);
        }
Пример #3
0
        public MainViewModel(DumperResolver dumperResolver,
                             INScriptEngine scriptEngine,
                             NScriptOptions scriptOptions,
                             CommonParam commonParam) : base(commonParam)
        {
            _dumperResolver = dumperResolver;
            _scriptEngine   = scriptEngine;
            _scriptOptions  = scriptOptions;

            _namespaces        = _scriptOptions.UsingList;
            _installedPackages = Array.Empty <NugetReferenceResolver>();

            _input = "\"Hello NatashaPad\"";

            DumpOutHelper.OutputAction += Dump;

            RunCommand         = new DelegateCommand(async() => await RunAsync());
            UsingManageCommand = new DelegateCommand(UsingManageShow);
            NugetManageCommand = new DelegateCommand(NugetManageShow);
        }
Пример #4
0
 public ScriptEngineTest(ITestOutputHelper testOutputHelper)
 {
     _testOutputHelper = testOutputHelper;
     _scriptEngine     = new CSharpScriptEngine();
 }