Наиболее распространенные приложения C# 4.0 динамический тип

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

5
задан 2 revs 24 May 2010 в 16:36
поделиться

2 ответа

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

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

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

3
ответ дан 14 December 2019 в 19:05
поделиться

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

2
ответ дан 14 December 2019 в 19:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: