У меня есть класс со свойствами на нем. Мы назовем этот TestMeCommand (см. Ниже). У этого класса есть список. Что мне нужно сделать, так это перебрать свойства класса и определить список. Теперь это должно быть построено в общем, потому что его код для проверки, поэтому этот же код может потребоваться для идентификации List<int>
или List<string>
, или что-то еще.
public class TestMeCommand
{
[Range(1, Int32.MaxValue)]
public int TheInt { get; set; }
[Required]
[StringLength(50)]
public string TheString { get; set; }
[ListNotEmptyValidator]
public List<TestListItem> MyList { get; set; }
public class TestListItem
{
[Range(1, Int32.MaxValue)]
public int ListInt { get; set; }
}
}
Теперь проблема в том, что у меня есть код, который выглядит следующим образом:
foreach (var prop in this.GetType().GetProperties())
{
if (prop.PropertyType.FullName.StartsWith("System.Collections.Generic.List"))
{
IList list = prop.GetGetMethod().Invoke(this, null) as IList;
}
}
Я не хочу помещать эту строку туда, но если я делаю что-то вроде prop.PropertyType - это IList, он никогда не оценивается как true. Как мне это исправить?