DLR(动态语言运行时)(一)

echo-efun / 2025-01-15 / 原文

1.   静态语言:C#   Visual Basic等

   动态语言:Lisp  Smalltalk   JavaScript   PHP   Ruby   Python   ColdFusion   Lua  Cobra    Groovy等

2.DLR是一种运行时环境,可以将一组动态语言服务添加到公共语言运行时(CLR)

  *使用DLR可以轻松开发在.NET上运行的动态语言,并为静态类型语言添加动态特征

  *动态语言可以在运行时标识对象的类型;静态类型语言,设计时必须指定对象类型

  *DLR 是 .NET 的一部分。 可从 GitHub 上的 IronLanguages/dlr 存储库下载它

3.DLR主要特点

3.1 简化了动态语言移植到.NET的操作

3.2使得静态类型语言中实现了动态功能

3.3一种语言实现的对象和库可以用于其他语言

3.4DLR支持高级多态缓存,可快速执行动态操作

3.5DLR 提供一组表示动态对象和操作的类和接口,供语言实现者和动态库的作者使用。 这些类和接口包括IDynamicMetaObjectProvider、DynamicMetaObject、DynamicObject 和 ExpandoObject。