Я хочу динамически разобрать дерево объектов, чтобы выполнить некоторую выборочную проверку. Валидация не важна как таковая, но я хочу лучше понять класс PropertyInfo.Использование PropertyInfo для определения типа свойства
я буду делать что-то вроде этого,
public bool ValidateData(object data)
{
foreach (PropertyInfo propertyInfo in data.GetType().GetProperties())
{
if (the property is a string)
{
string value = propertyInfo.GetValue(data, null);
if value is not OK
{
return false;
}
}
}
return true;
}
Действительно только часть меня волнует на данный момент ", если свойство является строкой. Как я могу узнать из объекта PropertyInfo, какой тип он есть.
Мне придется иметь дело с основными вещами, такими как строки, ints, double. Но мне также придется иметь дело с объектами, и если это так, мне нужно будет пересечь дерево объектов дальше внутри этих объектов, чтобы проверить основные данные внутри них, они также будут иметь строки и т. Д.
Спасибо.
Отлично. Я попробую это. Является ли typeof (string) и typeof (String) эквивалентным? Будет ли указанное выше как с строкой, так и со строкой? – peter
ОК, написано несколько модульных тестов, и это работает. Он действительно обрабатывает строку и String одинаково. Я ожидал этого, но просто хотел убедиться. – peter
@peter Да, 'string' и' String' равны. 'string' является псевдонимом для' String'. – bump