Custom attributes (again)

Alex Rønne Petersen xtzgzorex at gmail.com
Thu Apr 5 13:15:30 PDT 2012


On 05-04-2012 22:06, Jacob Carlborg wrote:
> On 2012-04-05 19:35, Walter Bright wrote:
>> On 4/5/2012 5:00 AM, Manu wrote:
>>> C# and Java both have attributes, following these established design
>>> patterns, I
>>> don't think there should be any mystery over how they should be
>>> implemented.
>>
>> At the Lang.NEXT conference over the last 3 days, I was able to talk to
>> many smart people about attributes. But I did find some confusion - are
>> they best attached to the variable/function (i.e. "storage class"), or
>> attached to the type ("type constructor")? I think the former. Attaching
>> it to the type leads to all sorts of semantic issues.
>>
>> From your list of uses, it looks like attaching it to the variable or
>> function is an apropos solution.
>
> If I recall correctly, both Java annotations and C# attributes let you
> specify with a fine grained control on what the attributes are attached to.
>
> @foo FooBar bar () {}
>
> For example, is "@foo" attached to "FooBar" or "bar". Java uses the
> @Target annotation to specify this.
>

C#'s grammar directly encodes what metadata element the attribute is 
attached to. How feasible this is with D's rather... loose 
attribute/modifier parsing, I don't know.

-- 
- Alex


More information about the Digitalmars-d mailing list