Walter Bright wrote:
My impression is it is just obfuscation around a simple lazy
initialization pattern.
While I can see the abstraction usefulness of compile time
attribute metadata, I am having a hard time seeing what the
gain is with runtime attributes over more traditional
techniques.
I'm not sure exactly what you mean by runtime attributes. Do you
mean the ability to reflect upon attributes at runtime? In that
case, there's two benefits I can think of over "traditional"
member data: Instance memory (attributes are create at
reflection), and reusable metadata packages (similar to how you
might use mixin templates only with less noise and reflection
capabilities).