James Lapalme <(E-Mail Removed)> wrote:
> I understand that attribute programming is used to add metadata to the code,
> but since they are implemented with a class and we can extend that class, we
> should be able to do any normal class thing with attributes like:
>
> -Have methods
> -Use any kind of code in the constructor and the methods (ex. Use a
> MessageBox)
>
> But the run time will not execute a MessageBox in the constructor?? why?
> Where is it defiened that and attribute can only have fields (properties)
> and that the constructor is used only to init these
> fields....???
An attribute can have any kind of constructor you like, and can have
any methods you like. However, when you *specify* an attribute for a
field/type/method etc, you're limited as to which types can be passed
in the constructor.
See section 22.3 of partition 2 of the ECMA CLI spec (ECMA 335) for
more details.
--
Jon Skeet - <(E-Mail Removed)>
http://www.pobox.com/~skeet/
If replying to the group, please do not mail me too