Теперь, когда люди использовали C# 4.0 некоторое время, я подумал, что посмотрю, как люди чаще всего используют тип «динамический», и почему это помогло им лучше решить проблему чем они могли сделать раньше?Наиболее распространенные приложения динамического типа C# 4.0
5
A
ответ
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 Interop это может пригодиться, смотрите на: http://www.devx.com/dotnet/Article/42590
2
Он также используется при встраивании динамических языков, таких как IronPython/IronRuby, чтобы типы загрузки, определенных во внешних исходных файлах, и доступ к ним более непосредственно в C#