Можно ли добавить метод расширения к свойству класса, чтобы получить значение атрибута, связанного со свойством?

У меня есть несколько классов с назначенными им атрибутами. Больше всего меня интересует значение FieldLength.MaxLength.

/// <summary>
/// Users
/// </summary>
[Table(Schema = "dbo", Name = "users"), Serializable]
public partial class Users
{

    /// <summary>
    /// Last name
    /// </summary>
    [Column(Name = "last_name", SqlDbType = SqlDbType.VarChar)]
    private string _LastName;
    [FieldLength(MaxLength=25), FieldNullable(IsNullable=false)]
    public string LastName
    {
        set { _LastName = value; }
        get { return _LastName; }
    }

}

Мне нужно знать, возможно ли это написать какой-нибудь метод расширения для свойств в моем классе, чтобы вернуть значение MaxLength атрибута FieldLength?

Например. Я бы хотел написать что-то вроде следующего…

Users user = new Users();
int lastNameMaxLength = user.LastName.MaxLength();
5
задан cdhowie 12 August 2011 в 01:31
поделиться