У меня есть это (в проекте C # MVC):
public class Bindable<TEntity>
{
//(...)
public IHtmlString FormControlTextField<T>(string id, Expression<Func<TEntity, T>> member)
{
var prop = (member as MemberExpression).Member;
var strLen = prop.GetCustomAttributes(typeof(StringLengthAttribute), false).OfType<StringLengthAttribute>().FirstOrDefault();
//(...)
}
//(...)
}
и по какой-то странной причине для меня это вызывает исключение NullReferenceException во второй строке метода, поскольку оно возвращает значение null из приведенного числапервая строка.
Метод вызывается так (из представления):
@empresa.FormControlTextField(p => p.CNPJ, Model.CNPJ)
@* "empresa" is an instance of Bindable<EmpresaCliente> *@
@* "CNPJ" is a property in EmpresaCliente *@
Что с этим не так?Или есть обходной путь для проверки "p.CNPJ" для пользовательских атрибутов?