Отражение vb.net против позднего связывания? - PullRequest
1 голос
/ 11 января 2010

Что должно быть более правильным или что рекомендуется использовать в VB.NET с учетом или позднего связывания:

'Type can be various objects that have a common property for sure.'
Dim type = sender.GetType()
Dim prop = type.GetProperty("Text", 20)
Dim value = property.GetValue(sender, Nothing)

против

Dim value = sender.Text

Ответы [ 3 ]

1 голос
/ 11 января 2010

Под одеялом они оба делают одно и то же (условно говоря). Возможность позднего связывания в VB.NET осуществляется с помощью запросов метаданных сборки во время выполнения, что является именно тем отражением.

Одним из преимуществ вашего первого подхода является то, что у вас есть возможность обрабатывать ошибки более детально.

0 голосов
/ 11 января 2010

Если вы используете позднюю привязку, вы можете поместить метод, который извлекает свойства в частичный класс с Option Explicit = Off.Таким образом, у вас все еще есть проверка типов в остальной части кода.

0 голосов
/ 11 января 2010

Не всегда ли отправитель. Текст всегда строка? Таким образом, тип значения может быть выведен во время компиляции, что делает последний пример раннего связывания?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...