1

我正在使用从数据库示例加载数据的 DisplayText:代码简历:

public class AtributosInModels : DisplayNameAttribute
{
    string displayName;
    private static int lenght;

    public static int Lenght
    {
        get { return lenght; }
        set { lenght = value; }
    }

    vw_UsuarioPerfilAtributoRepository vw_usuarioPerfilAtributoRepository = new vw_UsuarioPerfilAtributoRepository();

    public AtributosInModels(string key) 
    {

        _key = key;

    }

    public override string DisplayName
    {
        get
        {
            Func<vw_UsuarioPerfilAtributo, bool> expressionPerfil = Perf => Perf.NomeAtributo == _key;
            var entity = vw_usuarioPerfilAtributoRepository.GetSingle(expressionPerfil);

            if (entity.Tamanho!=null)
            lenght = entity.Tamanho.Value;

            try { displayName = entity.NomeLabel; }
            catch (Exception) { displayName = null; }
            return string.IsNullOrEmpty(_key) ? "" : displayName;
        }
    }



    public string _key { get; set; }
}

}

    [AtributosInModels("NomeUsuario")]
    [MaxLength(AtributosInModels.Lenght)]
    public string NomeUsuario { get; set; }

如果代码很乱,我会放满**

现在我想从数据库中加载 Lenght、DataType、Permission、DisplayFormat。但是模型类不能操纵变量,我正在尝试使用静态方法

[MaxLength(AtributosInModels.Lenght)]

错误 5 属性参数必须是属性参数类型的常量表达式、typeof 表达式或数组创建表达式

失败的。

4

1 回答 1

0

属性参数必须在编译时已知。因此它必须是一个常数值。

于 2012-11-07T16:07:59.833 回答