สมมติว่าลำดับชั้นการสืบทอดสมมุติฐานดังต่อไปนี้:
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"
มีวิธีง่ายๆในการค้นหาคุณสมบัติทั้งหมดในลำดับชั้นการสืบทอดสำหรับอินเทอร์เฟซดังตัวอย่างแรกหรือไม่