Thread overview | |||||||
---|---|---|---|---|---|---|---|
|
October 01, 2017 @property with 2 arguments | ||||
---|---|---|---|---|
| ||||
"@property functions can only have zero, one or two parameters" I am looking for an example of an @property function defined with two parameters and the syntax for how it is accessed without (). |
October 01, 2017 Re: @property with 2 arguments | ||||
---|---|---|---|---|
| ||||
Posted in reply to Tony | On Sunday, October 01, 2017 05:57:53 Tony via Digitalmars-d-learn wrote:
> "@property functions can only have zero, one or two parameters"
>
> I am looking for an example of an @property function defined with two parameters and the syntax for how it is accessed without ().
If it has two parameters, then it's a free function that can be used as a setter. e.g.
@property void foo(ref T t, int i)
{
...
}
myT.foo = 42;
- Jonathan M Davis
|
October 01, 2017 Re: @property with 2 arguments | ||||
---|---|---|---|---|
| ||||
Posted in reply to Tony | On Sunday, 1 October 2017 at 05:57:53 UTC, Tony wrote:
> "@property functions can only have zero, one or two parameters"
>
> I am looking for an example of an @property function defined with two parameters and the syntax for how it is accessed without ().
And also this, which probably shouldn't actually work:
struct S {
@property void prop(int a, int b){}
}
int main(string[] argv)
{
S s;
s.prop = AliasSeq!(1, 2);
return 0;
}
|
October 01, 2017 Re: @property with 2 arguments | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jonathan M Davis | On Sunday, 1 October 2017 at 06:34:56 UTC, Jonathan M Davis wrote:
> On Sunday, October 01, 2017 05:57:53 Tony via Digitalmars-d-learn wrote:
>> "@property functions can only have zero, one or two parameters"
>>
>> I am looking for an example of an @property function defined with two parameters and the syntax for how it is accessed without ().
>
> If it has two parameters, then it's a free function that can be used as a setter. e.g.
>
> @property void foo(ref T t, int i)
> {
> ...
> }
>
> myT.foo = 42;
>
> - Jonathan M Davis
Thanks!
|
October 01, 2017 Re: @property with 2 arguments | ||||
---|---|---|---|---|
| ||||
Posted in reply to bitwise | On Sunday, 1 October 2017 at 07:11:14 UTC, bitwise wrote:
> On Sunday, 1 October 2017 at 05:57:53 UTC, Tony wrote:
>> "@property functions can only have zero, one or two parameters"
>>
>> I am looking for an example of an @property function defined with two parameters and the syntax for how it is accessed without ().
>
> And also this, which probably shouldn't actually work:
>
> struct S {
> @property void prop(int a, int b){}
> }
>
> int main(string[] argv)
> {
> S s;
> s.prop = AliasSeq!(1, 2);
> return 0;
> }
Thanks! I was thinking it was something that looked like that, although the limitation to two items was puzzling.
|
Copyright © 1999-2021 by the D Language Foundation