C#小组Charlie Calvert在其博客发了一篇有关C#语言未来方向的文章,这片文章介绍了一个叫做动态查找的特性,它为.NET语言(包括建立在DLR上的语言)能有一个统一的动态运行时名称绑定方案,让C#能与其他.NET动态语言(如IronPython和IronRuby)进行交互。它的应用场景包括:
- 办公自动化:其实就是能更方便得调用Office的COM Interop,避免了膨胀的类数目
- 与动态语言交互:动态!动态!
- 调用反射:更方便的运行时动态调用
未来的C#动态部分可能采取一下的语法,即使用dynamic与静态部分分离:
static void Main(string[] args)
{
dynamic
{
object myDynamicObject = GetDynamicObject();
myDynamicObject.SomeMethod(); // call a method
myDynamicObject.someString = "value"; // Set a field
myDynamicObject[0] = 25; // Access an indexer
}
}
其实ActionScript本身是动态语言,在3.0中加入了静态特性,同时也支持dynamic class和dynamic call等完全的ECMAScript的特性,有时候我写AS3的时候觉得比C#还舒服,我只是写一个小testing程序,为什么我要声明它的类型?于 是我们的C#也要来凑动态语言的热闹了,本身纯洁的C#已经慢慢变成了一个大杂烩……很早前看到的一篇文章说Microsoft就是一个厨师,总是希望能 满足所有人的口味,但那真的不好做,事物必须得发展(与时俱进)。
我一直觉得还没有一个语言能让我满足,现在的程序开发中依然有许多冗余的信息和文本,我始终觉得人的逻辑到计算机的映射可以更加无损和简洁。期待未来吧,C# 4.0,还有VS 10。
Original Post: http://x-dev.cn/post/C-Future-Focus-e58aa8e68081e69fa5e689beefbc88Dynamic-Lookupefbc89.aspx
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步