DLR 的扩展库 Dynamitey

.NET 在 CLR 对动态语言或者脚本语言的支持是通过DLR 完成的, Miguel de Icaza对 DLR 的特点概括如下:

  • 一个针对动态语言的共享式类型系统;

  • 一个共享的 AST,可以被语言开发人员用来创建新的动态语言;

  • 针对编译器开发人员的辅助 / 工具类;

  • 一个通用的宿主接口,从而可以将通用脚本语言的接口嵌入你的程序中,并且允许开发人员用一种货多种动态语言扩展系统;

  • 控制台支持,DLR 甚至提供了一个简单的控制台接口,用于进行交互式编程。

有了DLR,从c# 4.0开始,反射是不必要的,因为DLR可以使用运行时类型进行调用。由于动态使用DLR库很麻烦(而不是C#编译器为您生成代码),因此开源框架Dynamitey(https://github.com/ekonbenefits/dynamitey)使您可以轻松地缓存运行时访问编译器将生成的相同调用。

Dynamitey 是一个实用程序库,提供对 DLR 的扩展,包括:

  • 基于DLR的简单快速反射,它包装了DLR API,使得通过名称动态调用方法变得更加简单,适用于动态和poco对象。比poco对象的反射更快。

  • 用于使用后期绑定库中类型的干净语法

  • 动态柯里化

  • 元组的操作

Dynamitey 可以像dynamic关键字那样调用它,但是使用字符串作为属性名,而不是由编译器为您代劳,就是把对一个对象的反射调用转变成对一个dynamic对象的直接调用:

Dynamic.InvokeGet(d,"value2");

Dynamic.InvokeSet(d, value2, value);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/280775.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MFC 单选按钮Radio使用注意

使用MFC Radio时遇到问题:数据交换时出现断言崩溃框 定位于: 解决方法: 1、按CTRLD,保证同一组内的radio的tab序号是连续的; 2、同一组内,设置 radio1的属性: group、tabstop、auto均为true&am…

C# 字符串操作:split、substring、Format

1.split split可以使用多个字符切割。 "test[12]"切割后是3个字符串,最后一个为空。 string testString "test[12]";string[] testData testString.Split([,]);int testLength testData.Length;Console.WriteLine(testLength.ToString());…

flac格式转换mp3格式_MP3,FLAC和其他音频格式之间有什么区别?

flac格式转换mp3格式Digital audio has been around a very long time so there’s bound to be a plethora of audio formats out there. Here are some of the more common ones, what differentiates them, and what to use them for. 数字音频已经存在了很长时间&#xff…

Kubernetes:Flomesh 服务网格与多集群通信

Kubernetes 成功普及了容器集群的概念。许多用户已经在多个集群中部署应用,组织需要运行多个 Kubernetes 集群可能来自以下原因(并非详尽列表):• 位置• 延迟(尽可能在靠近客户的地方运行应用程序)• 管辖…

Java四种线程池的使用

FixedThreadPool 由Executors的newFixedThreadPool方法创建。它是一种线程数量固定的线程池,当线程处于空闲状态时,他们并不会被回收,除非线程池被关闭。当所有的线程都处于活动状态时,新的任务都会处于等待状态,直到有…

袁永福软件行业从业经历

简化版》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》 袁永福简历 袁永福,男,1980年生于江西省九江市都昌县,2001年南京东南大学动力工程系本科毕业。毕业后一直从事计算机软件开发工作&…

小程序之地图导航

同学们平常使用地图的时候应该都有注意到,当我们在一个应用中选择一个地址,打开一个地图,往往会有两种显示方式,一个是显示当前自己的位置;一个是显示对方,也就是目的地的位置;如下图&#xff1…

PS2019摄影后期处理(一)

高高手之路笔记 一、学习方法 内外兼修:技术会淘汰、更新,自己内在也要提高。 二、照片格式、色彩空间 JPEG TIFF RAW sRGB:互联网相关图片,电子设备 三、照片风格 自己定义照片格式,直接后期效果 相机自带工具&a…

mdnsresponder_什么是mDNSResponder.exe / Bonjour,如何卸载或删除它?

mdnsresponderYou are no doubt reading this article because you’ve noticed the mDNSResponder.exe process running in Task Manager, you don’t remember installing it, and it doesn’t show up in the Add/Remove programs in Control Panel. So what is it, and how…

Windows 10下,如何使用PowerShell批量重启局域网电脑

PowerShell 在Windows 10中越来越受到微软重视,甚至被微软安排在开始按钮超级菜单中替换了一直以来默认的命令提示符(当然还可以换回去),这和该工具越来越强大密不可分。这次就介绍一个“群重启”命令,可让局域网内的电脑集体重启。1、单机重…

.NET MAUI学习指南

由于.NET MAUI这项技术出来不久相关的学习资源暂时除了官网以外没有太好的学习资源,这篇文章主要向大家分享几种学习.NET MAUI的学习途径,如果有好的学习资源欢迎大家私信给我然后更新到后续的文章里。(以下推荐学习途径均为免费且无广告的资…

循序渐进DB2(第2版)——DBA系统管理、运维与应用案例

《循序渐进DB2(第2版)——DBA系统管理、运维与应用案例》基本信息作者: 牛新庄出版社:清华大学出版社ISBN:9787302323013上架时间:2013-7-3出版日期:2013 年7月开本:16开页码:612版次&#xff1…

Oracle Unicode转中文(解码)

Oracle Unicode转中文(解码) CreateTime--2018年3月29日15:23:30 Author:Marydon 情景描述: 将数据库中的某个字段误存储的是Unicode编码,需要将其改成中文。 测试: --将Unicode转中文 select unistr(REPLACE(\u6d4b\u…

PS2019摄影后期处理(二)

一、曲线 二、曲线与通道 三、HSL局部调整 色相、饱和度、亮度 a.色相:一个颜色,帽子是红色 b.饱和度:树木葱郁一点 c.饱和度:衣服连杆 便黑白: 1.调低所有饱和度 2.将某个颜色饱和度提高,再转灰度。…

管理员获得所有权_在Windows 7中获得注册表项的所有权

管理员获得所有权We have previously written about how to take ownership of files and folders in Windows 7, but there may be times when you need to take ownership of or assign full permission for certain registry keys. This article shows you how to do this. …

Dojo QuickStart 快速入门教程 (2) 基本框架

下载库 首先,下载 Dojo 库:http://www.dojotoolkit.org/downloads 放了方便测试,我将文件将解压到 Web Server 的 "js/dojotoolkit" 文件夹中,如果你愿意,也可以缀上版本号。最后的目录结构应该像下图这样&a…

摊牌了,.NET开发者,准备赋能未来

hi,这里是桑小榆。一名.net开发,从19年毕业至今一直从事相关技术已近4年。发展至今,很有必要分享分享我的经历以及对于.net开发的看法和见解。篇幅有些长,无论你是学生,职业人,.NET开发者还是其他语言开发者…

网络爬虫练习

1.利用requests.get(url)获取网页页面的html文件 import requests newsurlhttp://news.gzcc.cn/html/xiaoyuanxinwen/ res requests.get(newsurl) #返回response对象 res.encodingutf-8 print(res.text) 2.利用BeautifulSoup的HTML解析器,生成结构树 import reques…

BZOJ 3434 时空穿梭

题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id3434 题意: 思路: const int mod10007; const int N100005;int g[22][N]; int C[N][22],mou[N]; int h[22][N][13];int prime[N],cnt; int tag[N];void init() {int i,j;mou[1]1;f…

powershell /遍历/psobject/字符串转换Json/json数组操作

读取json文档 $json (Get-Content "C:\HDDList.json" -Raw) | ConvertFrom-Json $select$json.Content.selected[0] $HddCoun$json.Content.normal.Count 遍历数组 foreach($str in $json.versions) { echo "value: $str" } json数据转换psobject.pro…