Pierre Nallet 的文章《Get Personal with C# Custom Attributes》介紹了 custom attributes 的應用。他把 custom attributes 分成了三類:user attributes, runtime attributes, 及 compile time attributes。一般常用的 System.Runtime.InteropServices.StructLayoutAttribute 就是屬於 runtime attributes,因為 JIT 是在執行時期才決定物件資料欄位的排列方式。
如果你有仔細查閱 System.Diagnostics 裡面的一些 attribute class,你會發現一些有趣的 attribute 應用,如 DebuggerHiddenAttribute 可以阻止 debugger 設定中斷點、DebuggerStepThroughAttribute 可以阻止 debugger 的 step into 功能。
Pierre Nallet 同時也是 eXtensible C# (XC#) 的作者。
對 Attributed Programming 有興趣的人可以參考《Applied .NET Attributes》這本書。