新闻

  |  手机版

收藏网站

投稿QQ:1745232315

IT专家网,汇聚专业声音 解析IT潮流 IT专家网,汇聚专业声音 解析IT潮流

网络

专家视点在现场环球瞭望
IT专家网 > 新闻

Visual Studio 2010中常用功能浅析

作者:qwell出处:IT专家网2010-08-09 13:54

  dynamic d = 1;

  var testSum = d + 3;

  // Rest the mouse pointer over testSum in the following statement.

  System.Console.WriteLine(testSum);

  结果不是动态的操作包括从动态向另一个类的转换和包括动态类的参数的构造函数调用。例如,下面声明中的testInstance类是ExampleClass,不是动态的。

  Code var testInstance = new ExampleClass(d);

  转换的例子在下一节“转换”中显示。

  转换

  动态对象和其它类之间的转换是容易的。这能够让开发人员在动态和非动态行为之间转换。

  任何对象都可以隐含地转换为动态类,如下面的例子所示:

  Code dynamic d1 = 7;

  dynamic d2 = "a string";

  dynamic d3 = System.DateTime.Today;

  dynamic d4 = System.Diagnostics.Process.GetProcesses();

  相反,一个隐含的转换可以动态地适用于动态类的任何表达式。

  Code int i = d1;

  string str = d2;

  DateTime dt = d3;

  System.Diagnostics.Process[] procs = d4;

  使用动态类参数的重载决策

  如果在方式调用中有一个或者更多的参数有动态类或者如果这个方式调用的接收者是动态类,重载决策就会发生在运行时间,而不是发生在编译时间。在下面的例子中,如果定义唯一的exampleMethod2访问方式利用一串参数,发送d1作为参数不会引起编译器错误,但是,这会引起运行时异常。重载决策在运行时失败,因为d1的运行时类是int,并且exampleMethod2需要一个字符串。

相关文章

关键词:评论分析,环球瞭望

责任编辑:李春禹

专题推荐

原创文章

微博互动

白皮书

网警备案