C# 我制作了一种非常基本的脚本语言——我希望能够读取输出。

C# 我制作了一种非常基本的脚本语言——我希望能够读取输出。,c#,events,stream,C#,Events,Stream,我制作了一种非常基本的脚本语言,在我的语言中有一个名为print——或者换句话说,print\k应该以某种方式向用户显示\k。 到目前为止,我一直在使用MessageBox.Show,但我还想为我的语言包含一个调试器,出于其他原因,我想使用流或类似的东西 基本上,在主窗体上,我希望有一个文本框或以某种方式连接到流,当(在脚本中,在另一个线程上)调用打印某物时,它将在我的窗体上引发一个事件,在我的文本框上写入某物 我曾经通过将TextBox对象作为参数发送来解决这个问题,但我希望使其更具动态性(这

我制作了一种非常基本的脚本语言,在我的语言中有一个名为
print
——或者换句话说,
print\k
应该以某种方式向用户显示
\k

到目前为止,我一直在使用
MessageBox.Show
,但我还想为我的语言包含一个调试器,出于其他原因,我想使用
或类似的东西

基本上,在主窗体上,我希望有一个
文本框
或以某种方式连接到
,当(在脚本中,在另一个线程上)调用
打印某物
时,它将在我的窗体上引发一个事件,在我的
文本框
上写入
某物

我曾经通过将
TextBox
对象作为参数发送来解决这个问题,但我希望使其更具动态性(这样我可以用比
TextBox
更多的方式读取数据)

不幸的是,
没有我可以使用的任何事件。

也许还有另一种动态方式?

这可能会帮助您:


祝贺您构建了一种脚本语言;我做过一次,这是我做过的最有趣、最有成效的事情之一。您提供调试器并使用流而不是字符串或文件的本能是好的

很难建议如何处理特定的问题,因为您没有提供代码,所以我们只能猜测。我通过在所有API中传递
来处理这种情况,通过将文本框文本转换为
内存流
并在脚本引擎中使用
流阅读器
来处理文本框


另一方面,他有一个关于创建脚本语言的优秀系列,名为,包括一个包含调试器的IDE。我从那个系列文章中得到了很多想法。

谢谢,但是你上面的人给了我一个很好的答案,这对我很有用。是的,编写它非常有趣(尽管我认为它不是最好的,因为它像汇编一样-也就是说,没有像
inti=2*x+Math.Sqrt(k)+51这样复杂的命令)