Как найти значение атрибута - PullRequest
0 голосов
/ 20 июня 2011

Как я могу найти значение атрибута? Мне нужно проверить значение и установить максимальную длину текстового поля на это значение. Вот пример значения, которое я хочу получить.

public class DogClass
    {
        [StringLength(5)]
        public string LegalName
        {
        }

1 Ответ

0 голосов
/ 21 июня 2011

Вы можете использовать отражение, чтобы получить эту информацию.Ниже приведен фрагмент кода, с которого следует начать.

protected void GetStringLength(object objDog) {
    // loop through each property in object
    foreach (PropertyInfo pi in objDog.GetType().GetProperties())
    {
        // for each object property, get the SringLength tag (if there is one)
        foreach (Attribute attribute in Attribute.GetCustomAttributes(pi, typeof(StringLengthAttribute), true))
           {
                // we'll assume there is only one 
                var stringLenVal = (attribute as StringLengthAttribute).MaximumLength;
                break;
           }
    }
}
...