ฉันมีประเภท, และฉันต้องการที่จะได้รับรายชื่อของคุณสมบัติที่สาธารณะที่มีแอตทริบิวต์t
MyAttribute
คุณลักษณะถูกทำเครื่องหมายด้วยAllowMultiple = false
เช่นนี้:
[AttributeUsage(AttributeTargets.Property, AllowMultiple = false)]
ปัจจุบันสิ่งที่ฉันมีอยู่นี้ แต่ฉันคิดว่ามีวิธีที่ดีกว่า:
foreach (PropertyInfo prop in t.GetProperties())
{
object[] attributes = prop.GetCustomAttributes(typeof(MyAttribute), true);
if (attributes.Length == 1)
{
//Property with my custom attribute
}
}
ฉันจะปรับปรุงสิ่งนี้ได้อย่างไร คำขอโทษของฉันหากนี่คือสิ่งที่ซ้ำกันมีเธรดการสะท้อนจำนวนมากออกมาที่นั่น ... ดูเหมือนว่าจะเป็นประเด็นร้อนแรง