写点什么

动态 C#实战

  • 2008-11-12
  • 本文字数:470 字

    阅读完需:约 2 分钟

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

2008-11-12 06:49822
用户头像

发布了 88 篇内容, 共 272.3 次阅读, 收获喜欢 9 次。

关注

评论

发布
暂无评论
发现更多内容

深入理解Metrics(二):Counters

冰心的小屋

Java metrics Counters

峰会实录 | StarRocks存储引擎近期进展与实时分析实践

StarRocks

数据库·

Vue自定义指令(二)浅窥

Augus

vue.js 11月月更

【奖项征集】参与第四届中国“数据质量管理”奖项评选,DQMIS 2022门票免费领!

数据质量管理智库

数据 数据治理 数据安全 数据隐私计算 数据要素

Hessian Hessian2 JDK 序列化性能对比

water

CSS学习笔记(二)

lxmoe

CSS 前端 学习笔记 11月月更

常用外设原理介绍

芯动大师

硬件设计 11月月更 常用外设

从“青铜”到“王者”,制造企业的数字化闯关记

脑极体

张益唐111页论文攻克朗道-西格尔零点猜想

老周聊架构

数学 11月月更 朗道-西格尔零点猜想

我服了!SpringBoot升级后这服务我一个星期都没跑起来!(上)

艾小仙

Java spring 程序员 springboot spring-boot

Vue基础学习(一)

Studying_swz

Vue 11月月更

筑牢数字基础设施:华为笔下的中国诗意

脑极体

人工智能「

跟着卷卷龙一起学Camera--低延迟02

卷卷龙

ISP camera 11月月更

算法题学习---合并两个排序的链表

桑榆

算法题 11月月更

制胜出海赛道 华为应用海外联运助力开发者获量增长

叶落便知秋

华为开发者大会2022

随想 小城市的程序员该如何生存

百里丶落云

生活状态 生活杂谈 11月月更

Vue基础学习(二)

Studying_swz

Vue 11月月更

Flowable 已经执行完毕的流程去哪找?

江南一点雨

spring springboot workflow flowable

【C语言】default 关键字

謓泽

11月月更

C 语言字符串常用库函数

Maybe_fl

跟着卷卷龙一起学Camera--偏振相机

卷卷龙

ISP camera 11月月更

跟着卷卷龙一起学Camera--低延迟01

卷卷龙

ISP camera 11月月更

索引的基础知识

阿泽🧸

索引 11月月更

JavaScript学习(二)

Studying_swz

JavaScript 11月月更

Go 微服务实战之如何实现加解密操作的微服务开发

宇宙之一粟

Go 微服务 Go 语言 11月月更 go-micro

一个好的安全团队应该具有怎样的素质

穿过生命散发芬芳

11月月更 安全团队

Flowable 设置流程变量的四种方式

江南一点雨

springboot flowable

【愚公系列】2022年11月 微信小程序-app.json配置属性之pages

愚公搬代码

11月月更

2022-11-08:以下go语言代码输出什么?A:2;B:编译错误;C:运行 panic。 package main import “fmt“ func main() { a := []int

福大大架构师每日一题

golang 福大大 选择题

如何在 Rocky Linux 上安装 MinIO 存储?

wljslmz

对象存储 S3 Minio Rocky Linux

云原生系列三:K8s应用安全加固技术

叶秋学长

#k8s K8s 多集群管理 安全加固 11月月更

动态C#实战_SOA_Jonathan Allen_InfoQ精选文章