`

【乌龟爬】之.NET中的嵌入语言与宿主的交互

阅读更多
这个题目已经弄清楚了,可以研究一下进阶阶段的内容了,所以改了题目,作为好好讨论的东西了。

玩过魔兽或者Office的人都对嵌入式语言有一定了解,通过lua或者VBA,你可以操作宿主语言里的物件,可能是一个人物角色或者一个表格的单元。

在.NET 4.0发布之后,DLR成了.NET不可或缺的一部分,但如何让嵌入式语言能够更方便的与操作宿主里的组件通讯却是一个新的问题。比如说,我的winform画面上有个小乌龟,可以让ironruby(ironpython,或者其他基于DLR的语言)控制它前进,后退,这样嵌入式语言就可以自由的和控制宿主里的暴露对象。




这段代码似乎能为宿主添加事件的响应,但悲剧了。。
            scope.SetVariable("form", this);
            //scope.SetVariable("mydata", this.myData);
            //Create a line of code to execute in the engine
            String code = "form.click {|sender,e| puts 'Columne added'}";
            //Execute the code
            ScriptSource script = engine.CreateScriptSourceFromString(code, SourceCodeKind.Statements);
            
            //Display the result
            Object result = script.Execute(scope);


今天突然有了个想法,就是message bus,宿主语言的暴露对象,在message bus上注册它的属性和事件,而脚本语言则可以轻松的通过message bus来控制暴露对象。。。


我需要的是一个轻量级的组件间的协议。good idea!

第一天的尝试:


基于DLR 0.9的语言
* Groovy/DLR - http://gavingrover.blogspot.com/
* IronScheme - http://ironscheme.codeplex.com
* Phalanger - http://phalanger.codeplex.com/ (PHP-Engine)
* IronGlue - http://ironglue.codeplex.com/ (Smalltalk for .NET)
* IronLua - http://code.google.com/p/ironlua/
* IronSmalltalk - http://ironsmalltalk.codeplex.com/
分享到:
评论

相关推荐

    Java实现乌龟爬行

    在编程世界中,"乌龟爬行"通常指的是使用图形用户界面(GUI)库来创建一个简单的动画,其中一个小图标(通常是一个乌龟的形象)在屏幕上移动,模拟爬行的效果。这种程序通常作为初学者学习编程和图形界面设计的入门...

    C# .net 游戏 抓乌龟 2.0测试版

    总的来说,“抓乌龟2.0测试版”是一款利用C# .NET和GDI+技术开发的桌面游戏,它体现了C#语言的灵活性和.NET框架的广泛适用性。通过这个游戏,开发者不仅可以展示他们的编程技能,还可以探索游戏设计的各个方面,包括...

    可爱乌龟爬行flash透明动画素材

    这个"可爱乌龟爬行flash透明动画素材"显然属于此类资源,它为设计师和开发者提供了一个预先制作好的动画元素,可以方便地集成到他们的项目中,无需从零开始创建动画。 Flash动画的核心是Adobe Flash Professional,...

    TortoiseGit 小乌龟 64位 + 中文语言包

    TortoiseGit是一款深受开发者喜爱的Git版本控制系统与Windows资源管理器集成的工具,尤其以其图形用户界面(GUI)和小乌龟形象的图标而知名。64位版本的TortoiseGit专为运行在64位Windows操作系统上的用户提供高效且...

    小乌龟SVN1.14.3.29387 安装包加中文语言包

    小乌龟SVN1.14.3.29387 安装包加中文语言包

    svn 小乌龟语言包 成功版本

    标题中的“svn 小乌龟语言包成功版本”指的是TortoiseSVN的中文语言包已经成功地与主程序集成,可以提供中文界面,这对于中文用户来说非常友好,避免了语言障碍,提高了工作效率。描述中的“在网上不太好找,这个是...

    小班语言活动教案《小乌龟爬呀爬》润新教育.txt

    小班语言活动教案《小乌龟爬呀爬》润新教育.txt

    中班综合活动:小乌龟爬山坡.doc

    【中班综合活动:小乌龟爬山坡】是一项旨在培养幼儿情感认知与身体协调能力的教育活动,适合幼儿园中班的孩子参与。这个活动的核心在于通过故事化的教学方式,引导孩子们理解和体验小乌龟克服困难、坚持不懈的精神,...

    运动:《乌龟爬爬》.doc

    《乌龟爬爬》是一项以幼儿为对象的运动课程,旨在通过模仿乌龟爬行的动作,激发孩子们对运动的兴趣,并提升他们的身体素质和协调性。课程设计遵循了新课程的四大理念,即注重兴趣培养、增强身体素质、利用自然元素...

    Git TortoiseGit小乌龟及中文安装包

    此外,它还可以与其他版本控制工具如SVN进行交互,进一步扩大了其适用范围。 总的来说,Git和TortoiseGit的组合为Windows用户提供了高效、直观的版本控制体验,无论是个人项目还是团队协作,都能大大提高开发效率。...

    小班体育活动乌龟爬爬.doc

    孩子们自由尝试乌龟爬,并在呼啦圈的帮助下增加难度,将呼啦圈放在背上模拟乌龟壳,这样既增加了挑战性,也锻炼了孩子们的平衡感。 第三部分,通过听鼓声辨别方向爬行,进一步提升孩子们的听力反应能力和空间判断...

    git、git乌龟、以及中文语言包

    git、git乌龟、以及中文语言包

    小班公开课语言教案《乌龟爬楼谁第一》润新教育.txt

    小班公开课语言教案《乌龟爬楼谁第一》润新教育.txt

    2021git小乌龟及中文包.rar

    这个包适用于所有需要使用Git进行代码管理的开发人员,无论你是新手还是经验丰富的开发者,Git小乌龟都能帮助你更高效地与团队协作,管理代码版本。在使用Git的过程中,了解基本的Git概念和命令是至关重要的,比如`...

    PPT动画大师之小乌龟爬楼梯

    PPT动画大师之小乌龟爬楼梯,展现了动画大师的高级技术,给PPT爱好者带来了更多的乐趣!

    大班语言活动:小乌龟开店.doc

    本资源为大班语言活动,旨在通过创设与教诲内容呼应的语言状况,习惯幼儿好奇、好动、好思索的天性,指导幼儿在与状况的互动中主动深造语言。活动的主要目的是通过故事《小乌龟开店》,帮助幼儿树破自傲、自强的不雅...

    java代码-使用java解决小乌龟在界面上爬行的问题的源代码

    java代码-使用java解决小乌龟在界面上爬行的问题的源代码 ——学习参考资料:仅用于个人学习使用!

    小班上学期健康教案《乌龟爬爬爬》润新教育.txt

    小班上学期健康教案《乌龟爬爬爬》润新教育.txt

    抽乌龟小游戏源码

    【抽乌龟小游戏源码】是一款基于C#编程语言开发的简单娱乐项目,它提供了玩家间互动、随机性与策略并存的游戏体验。在这款游戏中,玩家通过抽取卡牌来决定谁是最后剩下卡牌的人,即“乌龟”,以此为乐。下面将详细...

    幼儿园教案2021-运动:《乌龟爬爬》.doc

    【教案名称】:运动课程《乌龟爬爬》 【设计背景与理念】: 本教案的设计基于新课程理念,着重关注以下四个方面: 1. 强调儿童对运动课程的热爱和兴趣,因为兴趣是最好的老师,能激发孩子们积极参与。 2. 重视提升...

Global site tag (gtag.js) - Google Analytics