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 に答える