質問
C#4.0の動的変数は、クラスのメンバーにしたり、メソッドに渡したり、メソッドから返したりできますか? C#3.0のvarはできませんでしたが、dynamicで可能かどうかについてはどこにも言及していません。
解決
上記のすべて。 VPCで試してみたところ、これらすべてを行うことができました。 「C#の新機能」ドキュメントを参照してください
他のヒント
この書籍のコードスニペット「C#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
所属していません StackOverflow