Я хочу динамически анализировать дерево объектов, чтобы выполнить некоторую настраиваемую проверку. Проверка как таковая не важна, но я хочу лучше понять класс 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, что это за тип.
Мне придется иметь дело с базовыми вещами, такими как строки, целые числа, двойные. Но мне также придется иметь дело с объектами, и в этом случае мне нужно будет пройти по дереву объектов ниже внутри этих объектов, чтобы проверить базовые данные внутри них, у них также будут строки и т. Д.
Спасибо.
c#
.net
reflection
Питер
источник
источник
string
иString
равны.string
это псевдоним дляString
.string
это псевдонимSystem.String
. Это может иметь значение, потому что для использованияString
вам нужно добавитьusing System;
строку. Мои 2 цента;)Я только что наткнулся на этот отличный пост. Если вы просто проверяете, относятся ли данные к строковому типу, возможно, мы можем пропустить цикл и использовать эту структуру (по моему скромному мнению)
источник