既然人们已经使用 C# 4.0 一段时间了,我想我会看到人们最常使用“动态”类型的情况,为什么这比以前更好地帮助他们解决了问题?
问问题
162 次
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 回答