C# 4动态编程新特性与DLR剖析
2010-09-30 22:46:36 来源:WEB开发网核心提示: (1)代码中的许多错误要等到运行时才能发现,而且需要特定的运行环境支持,C# 4动态编程新特性与DLR剖析(3),对其进行测试不太方便,也不支持许多用于提升代码质量的各种软件工程工具,(1)使用C# 4编写动态的代码 C# 4新增了一个dynamic关键字,可以用它来编写“动态&rd
(1)代码中的许多错误要等到运行时才能发现,而且需要特定的运行环境支持,对其进行测试不太方便,也不支持许多用于提升代码质量的各种软件工程工具,因此不太适合于开发规模较大的、包容复杂处理逻辑的应用系统。
(2)与静态编程语言相比,动态编程语言编写的程序性能较低。不过随着计算机软硬件技术的不断进步,比如多核CPU的广泛应用,动态编程语言引擎和运行环境不断地优化,动态编程语言编写的程序性能在不断地提升,在特定的应用场景下,甚至可以逼近静态语言编写的程序。
2 拥抱“动态编程”特性的C# 4
为了让C#、Visual Basic等.NET编程语言能具备动态编程语言的特性,.NET 4.0引入了一个“DLR(Dynamic Language Runtime:动态语言运行时)”(图 3)。
查看原图(大图)
图 3 DLR:动态语言运行时
DLR运行于CLR之上,提供了一个动态语言的运行环境,从而允许Python、Ruby等动态语言编写的程序在.NET平台上运行,同时,现有的.NET静态类型编程语言,比如C#和Visual Basic,也可以利用DLR而拥有一些动态编程语言的特性。
(1)使用C# 4编写动态的代码
C# 4新增了一个dynamic关键字,可以用它来编写“动态”的代码。
例如,以下代码创建了一个ExpandoObject对象(注意必须定义为dynamic):
更多精彩
赞助商链接