Thread overview
Call method of object variable
Oct 16, 2020
Andrey
Oct 16, 2020
Simen Kjærås
Oct 16, 2020
Andrey
October 16, 2020
Hi,
I have got:
> struct Qaz
> {
>     wstring read() {return null;}
>     wstring hear() {return "rrrr";} }
> 
> void main()
> {
>     // ...
>     static if(some_condition) alias method = Qaz.hear;
>     else alias method = Qaz.read;
> 
>     // ...
>     Qaz qaz;
> 
>     qaz.method(); // ???
> }

How to call alias "method" on object "qaz"?
October 16, 2020
On Friday, 16 October 2020 at 08:12:59 UTC, Andrey wrote:
> Hi,
> I have got:
>> struct Qaz
>> {
>>     wstring read() {return null;}
>>     wstring hear() {return "rrrr";} }
>> 
>> void main()
>> {
>>     // ...
>>     static if(some_condition) alias method = Qaz.hear;
>>     else alias method = Qaz.read;
>> 
>>     // ...
>>     Qaz qaz;
>> 
>>     qaz.method(); // ???
>> }
>
> How to call alias "method" on object "qaz"?

https://dlang.org/spec/traits.html#child

The resulting code would be:

    __traits(child, qaz, method)(/*arguments go here*/);

--
  Simen
October 16, 2020
Thank you!