私の質問は次のとおりです。
PropertyInfo.GetValue(object, null);
戻りオブジェクトではなく、PropertyType にキャストされた値を返します。
Convert.ChangeType を試しましたが、うまくいきませんでした。
ありがとうございました。
更新 1:
もっと詳しく:
私のコード:
foreach (var propertyInfo in customerInfo.CustomerRelationship.GetType().GetProperties())
{
var relationshipList = (IList)propertyInfo.GetValue(customerInfo.CustomerRelationship, null);
foreach (var relationship in relationshipList)
{
}
}
と
public struct CustomerInfo
{
public Customer CustomerItem { get; set; }
public Relationship CustomerRelationship { get; set; }
}
public class Relationship
{
public List<Contact> ContactItems { get; set; }
public List<Department> DepartmentItems { get; set; }
..........
}
各リレーションシップ アイテムを動的にキャストできないため、比較できないため、クエリ (Linq) は database で操作します。