C#4.0では、dynamicを使って、動的型付け変数を宣言できる。
dynamic - C# リファレンス | Microsoft Docs
dynamic - C# によるプログラミング入門 | ++C++; // 未確認飛行 C
まずはVisualStudioの、
空のプロジェクトで、
MainClass.csを追加。
varで宣言した変数xは、10を代入した時点でintと推論されるので、"ABC"は代入できない。
dynamicでyを宣言し、いろんな型の値を入れてみる。
ブレークポイントを置いて観察。
yに100が代入。
yに"ABC"が代入。
yに1.23が代入。
このようにどんな値でも代入できる。
しかし、
出力できない。
他のクラスがdynamicに対応するためには参照の追加が必要なのかも。
参照設定から参照の追加。
Microsoft.CSharp.dllを追加。
今度は通ったっぽい。
最終的にMainClass.csをこうして、
x.GetType() = System.Int32 y.GetType() = System.Int32 y = 100 y.GetType() = System.String y = ABC y.GetType() = System.Double y = 1.23 続行するには何かキーを押してください . . .
代入するたびに型が変わっているのがわかる。
dynamicの詳細についてはいずれ・・・。
Sample/cs/dynamic/dynamic/src/dynamic at master · bg1bgst333/Sample · GitHub