seeking advice: possible new @attribute to mark class' default property to avoid alias this ?

someone someone at somewhere.com
Sun Aug 8 04:51:48 UTC 2021


On Sunday, 8 August 2021 at 04:30:12 UTC, rikki cattermole wrote:
> So a field that will automatically be resolved to as part of 
> the behavior of generated toString methods.

No. A default property can be another object altogether. The best 
use case I can think of is a default collection for a class such 
as lobjComputers.computers in my example.

> That really isn't what alias this is used for commonly. I.e.

I didn't know alias this even existed a month ago so I cannot 
comment for what's oftenly used; I just stated that I was pointed 
to alias this when I asked for default properties, it worked, but 
later on when reading manuals/posts/etc it was obvious alias this 
was something wholly different -that's why I got rid of all alias 
this on my code, not the least when I learned of Walter's stance 
on this one.

> struct ValueReference {
> 	private {
> 		SomethingElse* impl;
> 	}
>
> 	bool isNull() { return impl is null; }
>
> 	scope ref ValueType _get() { return impl.thingy; }
>
> 	alias _get this;
> }
>
> Only the problem is, this also works for classes and whole pile 
> of extra cases.




More information about the Digitalmars-d-learn mailing list