InfoQ

新闻

动态C#实战

作者 Jonathan Allen译者 张龙 发布于 2008年11月12日 上午6时49分

社区
.NET,
SOA
主题
动态语言,
REST
标签
C#

REST式的web service调用要比基于SOAP的调用更具优势,因为它无需工具的支持。这使得一些语言如Ruby和Python可以很轻松地对其进行调用。不幸的是,C#却做不到这一点,因为缺少必要的支持。

造成这种差别的原因在于动态类型。像Ruby和Python这样的语言可以直接将JSON和基于XML的结果转化为对象模型。接下来每种语言都可以使用其标准的方法和属性语法来访问该对象了。对于像C#这样的语言来说,如果事先不知道对象是什么样子的话是无法进行这种映射的。因此,我们不得不编写必要的类和解析逻辑,而这个过程实在乏味且容易出错。

借助C# 4,这一切都烟消云散了。通过将其与Nikhil Kothari的动态Rest项目进行整合,C#和VB开发者可以获得动态语言开发者所拥有的那种干净的语法。因为这还是基于早期预览版,所以还有一些限制。

注意到在CTP中还不支持动态类型索引,这违背了正常的数组语法。因此在其上使用了Item()。然而,我被告知在随后的构建中已经加入了对动态类型索引的支持。

在随后的帖子中,Nikhil介绍了使用C# 4调用Amazon和Flickr服务。
查看英文原文:Dynamic C# in Action
 

没有回复

回复

深度内容

Flex与JSON及XML的互操作

平台需要互操作性。在这篇文章中,作者仔细研究了Flex和JSON及XML的互操作性。文章也包含了使用E4X库来将XML映射到图表和表格组件的内容,还演示了如何使用as3core库来解码JSON消息。

用Qi4j进行面向组合编程

本文将简要介绍面向组合编程(COP,Composite Oriented Programming)的概念,展示它如何规避OOP存在的一些问题,并重新点燃使用可重用部件组装领域模型(Domain Model)的希望。

系统开发——新学科,新教育

一门新的计算机学科——“系统开发”,强调人性化、匠艺、设计、创意、创新和新事物的涌现,并建议用被称为“bottega”的工作室替代乏善可陈的教室。

图书聚焦:Visual Studio 2008 揭秘

Mike Snell和Lars Powers用他们最近由Sams出版的新书《Visual Studio 2008揭秘》,试图帮助大家提高开发人员的生产力。本文包括一个下载样章——第10章调试。

BPEL为何不是BPM的圣杯?

Pierre Vigneras在本文中讨论了作为标准之一的BPEL所存在的问题。Pierre先给我们大致介绍了一个简单的并行流程,接着讨论了从业者在试图以一个结构化模型为基础表达非结构化流程时遇到的一系列问题。

基于范型的多语言编程

你是否仔细思考过,为什么人们总在讨论“要正确的语言做恰当的事情”?在这篇文章中,Sadek Drobi向你解释了为什么应该在系统内部混合使用多种语言。

采访与书摘《Pro Web 2.0 Application Development with GWT》

Jeff Dwyer就关于他的新书(《Pro Web 2.0 Application Development with GWT》)、GWT1.5以及创建可搜索的Ajax应用谈了一些他的见解。

时刻准备着,迎接IT业的春天

我们需要设身处地地为客户及客户的业务本身着想,与客户同舟共济。更多创新的思路、产品和模式也同样将为IT业带来新的出路。IT业并不需要坐以待毙,在春天到来之后,市场将会更加繁荣!