Я использую C#, ASP.NET, я использую отслеживание API API, чтобы получить информацию о доставке, после получения запроса я получил объект (trackResponse), который является очень сложным и имеет много полей/свойств или другого объект, встроенный в него.Как глубоко искать через каждое поле в сложном объекте?
Как я могу запрограммировать поиск для каждого возможного поля значений (string/int/double) в этом объекте?
В основном я хочу способ, как это:
public static bool FindValueInObject(object Input, object SearchValue)
{
Type MyType = Input.GetType();
var props = typeof(MyType).GetProperties();
foreach (PropertyInfo propertyInfo in props)
{
//Console.WriteLine(string.Format("Name: {0} PropertyValue: {1}", propertyInfo.Name, propertyInfo.GetValue(mco, null)));
Type ObjectType = propertyInfo.GetType();
Type SearchType = SearchValue.GetType();
object ObjectValue = propertyInfo.GetValue(Input, null);
if (ObjectType == SearchType)
{
if(ObjectValue == SearchValue)
{
return true;
}
}
else
{
FindValueInObject(ObjectValue, SearchValue);
}
}
return false;
}
Но приведенный выше код не работает. Взгляни, пожалуйста.
Использование отражения. Получите все типы в своем объекте, а затем повторите их, чтобы проверить значения. – tsells
Есть ли общий метод, который может это сделать? –