@property - take it behind the woodshed and shoot it?

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Thu Jan 24 16:12:47 PST 2013


On 1/24/13 6:52 PM, Adam Wilson wrote:
> On Thu, 24 Jan 2013 00:34:42 -0800, Walter Bright
> <newshound2 at digitalmars.com> wrote:
>
>> This has turned into a monster. We've taken 2 or 3 wrong turns somewhere.
>>
>> Perhaps we should revert to a simple set of rules.
>>
>> 1. Empty parens are optional. If there is an ambiguity with the return
>> value taking (), the () go on the return value.
>>
>> 2. the:
>> f = g
>> rewrite to:
>> f(g)
>> only happens if f is a function that only has overloads for () and
>> (one argument). No variadics.
>>
>> 3. Parens are required for calling delegates or function pointers.
>>
>> 4. No more @property.
>
> I just worked through this with Alexander Bothe (of Mono-D fame). Here
> is what C# does.
>
> public Action temp { get; set; }
> public Action Event { get { return temp; } }
> t.Event; //returns the delegate
> t.Event(); //calls the delegate.
>
> Simple, clean, clear, concise. No problems with optional parens.
>
> (Action is a delegate in C#)

This looks essentially the same as Walter's proposal.

Andrei


More information about the Digitalmars-d mailing list