2020-10-29 15:27:21 登录注册 RSS

当前位置: 公理网 >> 投诉不良 >> 利用Roslyn构建一个简单的C#交互脚本引擎

利用Roslyn构建一个简单的C#交互脚本引擎
发布时间:2019-06-15| 来源:公理网 | 点击发表评论

(此文章同时发表在本人微信公众号“dotNET每日精华文章”,欢迎右边二维码来关注。)

微软的下一代编译器技术Roslyn是一个里程碑的技术,可以给.NET平台带来无限想象空间。比如今天推荐文章中谈到的,给C#开发一个交互脚本引擎。

Roslyn(即.NETCompilerPlatform)是微软开源的C#和VisualBasic编译器,其包含了丰富的代码分析API,让你能够利用熟悉的语言和工具来构建代码分析工具。

随着VS2015RC的发布,Roslyn也进入了GoLive(即功能已经冻结,就等修复一些bug),那么我们也就可以开始在一些实际的产品中应用它了。在今天推荐的文章中,ChristianJacobsen给大家展示了一个小技巧——如何利用Roslyn的特性来实现一个类似F#交互窗口那样的C#交互窗口。

首先实现一个非常简单的脚本执行引擎:

publicclassCSharpScriptEngine
privatestaticScript_previousInput;
privatestaticLazyobject_nextInputState=newLazyobject
publicstaticobjectExecute(stringcode)
varscript=CSharpScript.Create(code,ScriptOptions.Default).WithPrevious(_previousInput);
varendState=script.Run(_nextInputState.Value);
_previousInput=endState.Script;
_nextInputState=newLazyobject(()=endState);
returnendState.ReturnValue;
}

34363171/article/details/85514130">旁观了2012年计算机博弈大赛
long240long:楼主,我想请教一下关于对战平台的问题,可以吗?就是比如两个队都写好了软件,那是怎么实现的两台机器对战的呢?qq446436737,希望能和你请教一下

最新新闻

手机浏览

公理网 版权所有

公理网 Total 0.011403(s) query 6, 报料QQ:点击这里

给我发消息