Silverlight开发工具是一个非常深奥的应用工具。其中包含有许多特性值得我们去深入的研究。要想很好的使用这款工具帮助我们完成各种功能的实现,就需要在实际编程中去慢慢积累经验。Silverlight DLR是Silverlight中提供的一套非常强大的动态语言运行时。目前2.0 beta2中支持Python,Ruby和JSX。#t#

利用Silverlight DLR,你可以很方便的使用熟悉的动态语言编写Silverlight程序。本文主要介绍如何在托管语言中调用动态语言。首先,我们需要初始化动态语言的环境配置,从中获取所有可以使用的动态语言列表,然后得到相应动态语言的运行引擎。
Silverlight DLR获取了运行引擎后,我们就可以执行动态语言的代码了
- public class MyErrorSink : ErrorSink
 
//编译错误处理- {
 - IList
 m_ErrorMsg = new List (); - public IList
 ErrorMsg - {
 - get { return m_ErrorMsg; }
 - }
 - public MyErrorSink()
 - {
 - }
 - public virtual void Add(SourceUnit
 
source, string message, SourceSpan
span, int errorCode, Severity severity)- {
 - if (severity == Severity.Error ||
 
severity == Severity.FatalError)- {
 - m_ErrorMsg.Add(message);
 - }
 - }
 - }
 - LanguageContext langContext =
 
HostingHelpers.GetLanguageContext(engine);- SourceUnit sourceUnit = langContext.
 
CreateSourceUnit(new SourceStringContent
Provider("1/4+3"), null, SourceCodeKind
.Expression); //创建代码序列:1/4+3- MyErrorSink errorSink = new MyErrorSink();
 - try
 - {
 - Scope scope = new Scope();
 - object ret = sourceUnit.Execute(scope,
 
errorSink); //执行动态语言代码,
ret就是执行结果的返回值了- if (errorSink.ErrorMsg.Count > 0)
 
//检查编译错误- {
 - //
 - }
 - }
 - catch (Exception)
 - {
 - }
 
Silverlight DLR的简单应用就为大家介绍到这里。
                网页标题:SilverlightDLR轻松实现动态语言编写
                
                文章分享:http://www.csdahua.cn/qtweb/news42/327842.html
            
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网