Я смотрю код, в котором автор MSDN использует следующее в разных методах одного и того же класса:
if ( TypeDescriptor.GetProperties(ModelInstance)[propertyName] != null ) return;
var property = ModelInstance.GetType().GetProperty(propertyName);
Вы бы использовали первый, потому что он быстрее, и вам нужно только запросить свойство и последнее, если вам нужно манипулировать им? Что-нибудь еще?