Custom attributes C#
janderson
askme at me.com
Sat Sep 29 18:06:05 PDT 2007
Daniel Keep wrote:
>
> Janice Caron wrote:
>> On 9/27/07, Bruno Medeiros <brunodomedeiros+spam at com.gmail> wrote:
>>> It's a concept similar to Java's annotations, aren't you familiar with
>>> those either?
>> Nope. I have always found C and C++ (and now D) to be perfectly
>> adequate for every need I've ever had.
>>
>> So tell me, what are these things _for_? What's the _point_ of them?
>> What do they do, and why would adding them to D be a good idea.
>>
>> What will it enable me to do that I can't already do in C, C++ or D?
>
> Look, ignore the syntax; it's not important. Pretend I used @s or $s or
> whatever makes you comfortable.
>
> The point is, it's a system for annotating declarations. Like how you
> scribble in the margins of a book next to a particularly inane
> paragraph: "this guy is nuts!" You know... *metadata*.
>
> And I would have thought the examples I gave before were a pretty good
> example of why they're useful. Look at the first class; I've used them
> to annote fields with information on how they should be serialised. In
> the second one I've used them to indicate how an object might be bound
> to a UI.
>
> Ary has an even better example: specifying how to bind an object to a
> database table. That's like what ActiveRecord (the real magic behind
> Ruby on Rails) does. It'd practically give us half of D on Rails. :P
>
> The point is to give programmers a way of adding extra information about
> a declaration that you wouldn't normally be able to convey.
>
> Granted, you *could* do this in D right now; in much the same way you
> can do OO programming in assembler. You could probably fake it with
> variadic templates and structs, etc., but it'd be ugly as heck.
>
> -- Daniel
I agree, whatever the solution is (even if its just in the standard
library) it needs to be standard otherwise it defeats the purpose of
being able to simply import 3rd-party libraries that will work with your
markup.
-Joel
More information about the Digitalmars-d
mailing list