Наиболее распространенные приложения динамического типа C # 4.0 - PullRequest
5 голосов
/ 13 мая 2010

Теперь, когда люди какое-то время использовали C # 4.0, я подумал, что увижу, как люди чаще всего используют тип «динамический» и почему это помогло им решить свою проблему лучше, чем они могли раньше?

Ответы [ 2 ]

3 голосов
/ 13 мая 2010

Например, при использовании отражения.

Пример, что-то вроде этого:

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

2 голосов
/ 13 мая 2010

Он также используется при внедрении динамических языков, таких как IronPython / IronRuby, чтобы разрешить загрузку типов, определенных во внешних исходных файлах, и более прямой доступ к ним в C #

...