我正在使用C#,ASP.NET,我使用UPS 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
有沒有可以做到這一點的一般方法? –