c#语⾔cs模式编程,C#⼊门经典之ScriptCS:将C#转变为脚本
语⾔
在C#⼊门经典学习中,我们知道ScriptCS ⽀持开发者使⽤简单的⽂本编辑器编写 C# 应⽤,并通过 Roslyn 执⾏编译,使⽤ NuGet 进⾏包管理。希望对⼤家学习C#⼊门经典有所帮助。
Windows Azure SDK 团队的项⽬经理 Glenn Block 启动了 ScriptCS 项⽬,它是⼀个尝试将 C# 变成脚本语⾔的业余项⽬。开发者能够利⽤其 C# 知识,使⽤简单的⽂本编辑器编写程序,并通过 Roslyn(微软⽀持“编译器即服务”的 API)完成编译。ScriptCS 使⽤ NuGet 挖掘包的依赖关系并加载⼆进制⽂件。Roslyn 的r:语法⽤于添加 GAC 或其他 DLL 引⽤。
如果⼀个 hello.csx ⽂件包含下⾯这⾏ C# 代码:Console.WriteLine ("Hello World!");
那么运⾏命令“scriptcshello.csx”,会在控制台输出“Hello World!”字符串。
这个例⼦既不需要命名空间或类定义,也不需要创建项⽬,不会⽣成 .obj 或 .exe ⽂件。Roslyn 负责编译⽽ ScriptCS 执⾏编译结果。
另⼀个复杂⼀些的例⼦是创建⼀个 Web API 主机:using System;using System.IO;
usingSystem.Web.Http;
usingSystem.Web.Http.SelfHost;
var address = "localhost:8080";
varconf = new HttpSelfHostConfiguration (new Uri (address));
conf.Routes.MapHttpRoute (name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
var server = new HttpSelfHostServer (conf);js脚本编程入门
server.OpenAsync () .Wait ();
Console.WriteLine ("");
Console.ReadKey ();
ScriptCS 提供了插件机制,使⽤了所谓的“脚本包(script packs)”,Block 解释道:
脚本包能够提供命名空间的导⼊和引⽤,以及脚本能够通过 Require API 使⽤的对象。
脚本包的主要⽬的是让开发者能够更容易地使⽤框架编写脚本。
由于脚本包可以通过 NuGet 包安装,因此它们很容易发现和使⽤。
让 ScriptCS 运⾏在 Mono 之上的⼯作正在进⾏, 向 Roslyn 添加调试功能也在调研之中。Sublime Text 已经创建了⼀个⽤于 ScriptCS 的插件,在简单的编辑器中⽀持语法⾼亮。还有⼀种选择,是通过 Roslyn 针对 .csx ⽂件在 Visual Studio 中⽣成语法⾼亮功能。
根据他在 Node.js ⽅⾯的经验,Block 列出了将 C# 脚本化的优势:
· 没有项⽬,只有脚本——我热爱 node.js 的原因之⼀在于不需要创建项⽬。开发者可以直接进⼊⼀个⽂件夹创建 js ⽂件,不会感到受束缚。
· 不需要 IDE,只需要⼀个⽂本编辑器。
·
在程序集之上的包——在 node 中,如果想要获取某些内容,那么只需要使⽤ npm 来下载包即可。这⾮常简单。开发者只需要拥有⾃⼰的应⽤和本地 node_modules ⽂件夹即可。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论