C#4.0中的动态变量可以是类的成员,还是传入方法或从方法返回?来自C#3.0的var不可能,但我还没有看到任何关于动态是否可能的提及。

有帮助吗?

解决方案

以上所有。我在VPC中尝试了它们并且能够完成所有这些。请参阅“C#中的新功能”文档

其他提示

是。 var dynamic 之间存在很大差异。

var 只是意味着“让编译器推断变量的实际类型”。

dynamic 变量的类型 - 所以无论你在哪里指定类型,你都可以指定 dynamic ,据我所知。 (我确信这有一些例外,但这是基本的想法。)

编辑:Chris Burrow的关于动态 (有一个第二个已经;期待更多)给出了一个在整个地方使用 dynamic 的示例类。

本书的代码片段“CLR via C#,3rd Ed”显示动态实施:

using System;
using System.Dynamic;
static class DyanmicDemo
{
    public static void Main() {
  for(Int32 demo =0; demo < 2; demo++) {
   dynamic arg = (demo == 0) ? (dynamic) 5 : (dynamic) "A";
   dynamic result = Plus(arg);
   M(result);
  }
 }
    private static dynamic Plus(dynamic arg) { return arg + arg; }
    private static void M(Int32 n) { Console.WriteLine("M(Int32): " + n); }
    private static void M(String s) { Console.WriteLine("M(String): " + s); }
}

当我执行Main时,我得到以下输出:

M(Int32):10

M(String):AA

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top