5

人々がC#4.0をしばらく使用しているので、人々が「動的」タイプを最も頻繁に使用していることがわかると思いました。なぜこれが以前よりも問題を解決するのに役立ったのでしょうか。

4

2 に答える 2

3

たとえば、反射を使用する場合。

例、次のようなもの:

object calc = GetCalculator();
Type calcType = calc.GetType();
object res = calcType.InvokeMember("Add", BindingFlags.InvokeMethod, null, new object[] { 10, 20 });
int sum = Convert.ToInt32(res);

になるより:

dynamic calc = GetCalculator();
int sum = calc.Add(10, 20);

それは大きな改善だと思います。

しかし、これが役立つ可能性のあるテーマは他にもあります。たとえば、COM相互運用オブジェクトを操作する場合、これは便利です 。http ://www.devx.com/dotnet/Article/42590を参照してください。

于 2010-05-13T17:05:16.760 に答える
2

また、IronPython / IronRubyなどの動的言語を埋め込んで、外部ソースファイルで定義された型をロードし、C#でより直接アクセスできるようにする場合にも使用されます。

于 2010-05-13T17:08:35.083 に答える