Visual C# 2010新特性之dynamic类型

在Visual C# 2010中引入了一种新的dynamic类型,该类型是一个静态的(static)类型,但是一个 dynamic类型的对象会绕过静态类型检查。在大多数情况下dynamic和object类型有些相似,但是在编译时 ,dynamic类型被假定为支持任何操作,也就是说dynamic类型的对象可以是一个Office对象,可以是一个 COM对象或者是DOM对象,而如果在运行时发现该对象不是期望的对象则会抛出一个运行时异常。

由于把一个对象定义为dynamic类型,因此在代码中编写任意调用在编译时都是合法的(这一点在声明 为object类型时不能成立)。例如以下代码能够通过编译:

运行后发现obj并不支持UpdateWordDocument方法,因此会抛出异常:

大多数动态类型操作的结果仍是动态类型,例如编写如下代码时智能提示会显示变量的类型是dynamic :

时间: 2024-10-03 13:24:19

Visual C# 2010新特性之dynamic类型的相关文章

Visual C# 2010新特性之命名和可选参数与类型等价支持

1. 命名和可选参数 Visual C# 2010引入了命名和可选参数,经常使用SQL Server编写存储过程的开发人员对此应该比较熟 悉-命名参数和可选参数与存储过程的参数十分相似. 命名参数允许调用者通过提供参数的名称来为其赋值,这样参数的位置就不在重要了.可选参数允许 在定义时为某些参数赋值,在调用时可以忽略这些"可选的"参数.命名参数和可选参数可以应用在方法 .索引器.构造函数和委托.命名参数和可选参数与dynamic类型结合在一起使用,可以方便的访诸如 Office自动化A

《Windows 8 开发权威指南:HTML5 和JavaScript卷》——1.4 Visual Studio 2012新特性

1.4 Visual Studio 2012新特性 1.4.1 Windows Microsoft Design样式应用程序1.设计和构建Microsoft Design Style样式应用程序通过1.3节我们对Microsoft Design样式应用程序有了一个基本的了解. 使用默认项目模板构建Microsoft Design样式应用程序,这些模板为不同的Microsoft Design样式应用程序提供了文件.资源和结构. 使用 XAML 和 C+ +.C# 或 Visual Basic构建M

Office Word 2010新特性详解

在 Office Word 2010 中,更多新特性的加入,使得用户的办公效率得以很大程度的提升.Word 历来都作为 Office 的重要组件之一,其更多人性化的新功能的加入,不仅可以让用户制作出更加精美的文档,同时,也提供了更好的用户体验. 从整体特点上看,Word 2010 丰富了人性化功能体验,改进了用来创建专业品质文档的功能,为协同办公提供了更加简便的途径,同时,云存储使得用户可以随时随地访问到自己的文件.下面,就来具体介绍 Word 2010 中的新特性. Word 2010 的启动

详谈Java8新特性泛型的类型推导_java

1. 泛型究竟是什么? 在讨论类型推导(type inference)之前,必须回顾一下什么是泛型(Generic).泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数.通俗点将就是"类型的变量".这种类型变量可以用在类.接口和方法的创建中.理解Java泛型最简单的方法是把它看成一种便捷语法,能节省你某些Java类型转换(casting)上的操作: List<Apple> box = new ArrayList<Ap

Visual Studio快速开发以及Visual Studio 2010新功能介绍_基础应用

1.快捷命令: 复制代码 代码如下: "devenv" 启动相应版本的 Visual Studio "Inetmgr" IIS 管理器,不用到管理里去找了,很快就可以显示 IIS管理了 2.集成开发环境(IDE) 复制代码 代码如下: vs2010 的 IDE 已经过重新设计,提高了可性读. 为了减少杂乱,不必要的行和渐变都已删除 安装Visual Studio 后第一次加载需要选择默认的集成开发环境 (IDE),根据项目选择,一般选Visual C#开发, 如果在

LINQ体验(1)——Visual Studio 2008新特性

一.写本系列的目的 我平时利用课余零碎时间来学习ASP.NET3.5.LINQ.Silverlight.ASP.NET 3.5 Extensions等新东西,通过笔记形式来记录自己所学的历程,也给大家一起 学习Visual Studio 2008 和 .NET 3.5提供一个平台,为保证此系列的完整性, 我打算先依次介绍一下C# 3.0新语言特性和改进,然后从一条一条LINQ语句分析 来贯穿LINQ的知识点.最后通过一个实例程序实战Linq to sql带来全新的编程 体验.此系列比较长,欢迎大

Excle 2010新特性详解

跟前一版本一样,作为 Microsoft Office 2010 产品中的一个重要组件,Excel 2010 较 Excel 2007 来说也有很多改进,但总体来说改变不大.下面来做详细介绍: 函数功能 Excel 2010 的函数功能在整体继承 Excel 2007 的基础上,更加充分考虑了兼容性问题,为了保证文件中包含的函数可以在 Excel 2007 以及更早版本中使用,在新的函数功能中添加了"兼容性"函数菜单.以方便用户的文档在不同版本中都能够正常使用. 兼容性函数 迷你图 &

C++11新特性:自动类型推断和类型获取

声明:本文是在Alex Allain的文章http://www.cprogramming.com/c++11/c++11-auto-decltype-return-value-after-function.html的基础上写成的. 加入了很多个人的理解,不是翻译.   转载请注明出处 http://blog.csdn.net/srzhz/article/details/7934483   自动类型推断 当编译器能够在一个变量的声明时候就推断出它的类型,那么你就能够用auto关键字来作为他们的类型

[VSTS] 玩转 Visual Studio 2010 自定义代码段特性

2010年2月24日,北京,阴,今天是参加微软VSTS 2010 TTT培训的第二天,也是最后一天,这次来参加这个讲师培训收获良多,课程上的内容由于目前处于NDA保密状态,不方便发表出来,但很久没写文章也觉得愧对朋友们,所以接下来我会陆续写一些非本次TTT的关于VSTS 2010的文章,主要以VSTS 2010新特性为主,希望大家喜欢且对大家的实际工作有所帮助. 言归正传,本文要介绍的是VSTS 2010客户端IDE的一个功能,这个功能其实在VS的之前版本都已存在,但是使用它的人并不多,根据字面