ฉันต้องการแยกวิเคราะห์โครงสร้างวัตถุแบบไดนามิกเพื่อทำการตรวจสอบความถูกต้องที่กำหนดเอง การตรวจสอบความถูกต้องไม่สำคัญเช่นนี้ แต่ฉันต้องการเข้าใจคลาส 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 คู่ผสม แต่ฉันจะต้องจัดการกับวัตถุด้วยเช่นกันและถ้าเป็นเช่นนั้นฉันจะต้องสำรวจโครงสร้างวัตถุให้ลึกลงไปภายในวัตถุเหล่านั้นเพื่อตรวจสอบความถูกต้องของข้อมูลพื้นฐานที่อยู่ภายในพวกเขาจะมีสตริงเป็นต้น
ขอบคุณ.