สมมติว่าลำดับชั้นการสืบทอดสมมุติฐานดังต่อไปนี้:
public interface IA
{
int ID { get; set; }
}
public interface IB : IA
{
string Name { get; set; }
}
ใช้การสะท้อนและการโทรต่อไปนี้:
typeof(IB).GetProperties(BindingFlags.Public | BindingFlags.Instance)
จะให้เฉพาะคุณสมบัติของอินเทอร์เฟซIB
ซึ่งก็คือ " Name
"
หากเราจะทำการทดสอบที่คล้ายกันกับรหัสต่อไปนี้
public abstract class A
{
public int ID { get; set; }
}
public class B : A
{
public string Name { get; set; }
}
การเรียกtypeof(B).GetProperties(BindingFlags.Public | BindingFlags.Instance)
จะส่งคืนอาร์เรย์ของPropertyInfo
วัตถุสำหรับ " ID
" และ " Name
"
มีวิธีง่ายๆในการค้นหาคุณสมบัติทั้งหมดในลำดับชั้นการสืบทอดสำหรับอินเทอร์เฟซดังตัวอย่างแรกหรือไม่