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"); }
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); }
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); }
public ScriptEngineTest(ITestOutputHelper testOutputHelper) { _testOutputHelper = testOutputHelper; _scriptEngine = new CSharpScriptEngine(); }