แรงบันดาลใจจากคำถาม SO ชั้น Attribute มีหลาย overloads สำหรับIsDefined ()วิธีการ Covered คือแอททริบิวต์ที่ใช้กับชุดประกอบ, โมดูล, MemberInfo, ParameterInfo MemberInfo โอเวอร์โหลดครอบคลุม PropertyInfo, FieldInfo, EventInfo, MethodInfo, ConstructorInfo
ที่ดูแล AttributeTargets ส่วนใหญ่ ยกเว้นหนึ่ง biggy: ไม่มี overload สำหรับ Attribute.IsDefined (Type, Type) เพื่อให้คุณสามารถตรวจสอบว่ามีการกำหนดคุณลักษณะในชั้นเรียน หรือ struct, มอบหมายหรือ enum สำหรับเรื่องที่
ไม่ใช่ว่านี่เป็นปัญหาที่แท้จริง Type.GetCustomAttributes () สามารถแก้ไขได้ แต่ BlahInfo ทุกประเภทก็มีเช่นกัน ฉันสงสัยว่าขาดความสมมาตร ฉันไม่สามารถระบุได้ว่าทำไมสิ่งนี้จึงเป็นปัญหาสำหรับประเภท การคาดเดาปัญหามรดกไม่ได้อธิบายให้ฉันฟัง การมี ValueType ในการผสมอาจเป็นผู้นำ แต่ก็ไม่สมเหตุสมผล ฉันไม่ซื้อ "พวกเขาลืม" พวกเขาไม่เคยทำ
ทำไมโอเวอร์โหลดนี้ถึงหายไป
ICustomAttributeProvider
จะทำให้รู้สึกมากเกินไป