アカウント名:
パスワード:
var sample1 = new Sample();sample1.Add();dynamic sample2 = new Sample();sample2.Add();
と書けます。sample1
ただ判らないのは、なぜそんなものをいまさら導入したかってことだ。
((Excel.Range)excel.Cells[1, 1]).Value2 = "Hello";
excel.Cells[1, 1].Value = "Hello";
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
アレゲはアレゲ以上のなにものでもなさげ -- アレゲ研究家
自分の理解 (スコア:5, 参考になる)
正確にはそれを支えるために.NET Framework 4.0では動的なメソッド呼び出しをサポートするインターフェースが用意されるとか。
コード中には静的にコンパイルされたものと動的に決定されるものとが混在できる仕様です。
例えばあるSampleクラスがAdd()メソッドを持っていた場合、C# 4.0では
と書けます。sample1
Re: (スコア:2, 興味深い)
ただ判らないのは、なぜそんなものをいまさら導入したかってことだ。
動的言語の「お気楽さ」は便利だけど、バグの素だったりメンテしにくかった
り色々欠点がある。C#で書くようなアプリの場合に、「お気楽さ」のメリット
と「バグの素」のデメリットを比べたらどうだろうか?
その「お気楽さ」だって、「えーと、ここはdynamicを使えば楽に書けるかな?」
と、静的に書くところと動的に書くところの使い分けをいちいち考えながらコー
ディングする必要があるんだから、言うほどお気楽なわけでもない。
導入メリットが見えないんだよね。上の例も、dynamicである必然性
Re:自分の理解 (スコア:3, すばらしい洞察)
本来IDL or TLBがなければコンパイルできず、C#から扱うにはPIAなどが必要になりますが、
dynamicの導入により、Guidさえあればコンパイルを完了させ、後は実行時に、とできるわけです。
Re:自分の理解 (スコア:1)