TryGetValue()
не является членом System.Web.Mvc.IValueProvider
. Я подозреваю, что у него есть собственное расширение, которое выглядит примерно так:
public static bool TryGetValue(this IValueProvider valueProvider, string key, out ValueProviderResult result) {
try {
result = valueProvider.GetValue(key);
return true;
}
catch {
result = null;
return false;
}
}
Обновление
TryGetValue()
не является методом расширения, а скорее методом типа IDictionary <T,U>
. Тип bindingContext.ValueProvider
изменился с MVC1, как указано @mootinator. Возможно, вы можете просто проигнорировать вызов TryGetValue()
и вместо этого позвонить GetValue()
и проверить результат на ноль. Я не уверен, что это вызовет исключение, так как я не проверял его, поэтому попробуйте сначала.