Re: [Vala] Setting and getting properties at the same time



Not surprisingly, the very subtle point raised by
the original poster has been misunderstood.

The OP complained that this

   int x = (myclass.myproperty = y);

should behave like this

   // Semantic A
   myclass.myproperty = y;
   int x = myclass.property;

rather than this

   // Semantic B
   myclass.myproperty = y;
   int x = y;

The subtle point is that myclass.myproperty
does not necessarily evaluate to y.
To repeat the OP's example, a property can
be defined like this

     private int _number;
     public int number {
        set { _number = value * 2; }
        get { return _number; }
     }

I think chained assignment should have
Semantic B, for the following reasons:

  * A well designed property should give
    the same result for both semantics

  * Semantic A is not possible for a
    write only property.

  * Semantic A is really confusing. e.g.,
      var1.myproperty = var2.myproperty = y;
    who would have thought that var1.myproperty
    is different from var2.myproperty ?!


hand
Nor Jaidi Tuah




PRIVILEGED/CONFIDENTIAL information may be contained in this message. If you are neither the addressee 
(intended recipient) nor an authorised recipient of the addressee, and have received this message in error, 
please destroy this message (including attachments) and notify the sender immediately. STRICT PROHIBITION: 
This message, whether in part or in whole, should not be reviewed, retained, copied, reused, disclosed, 
distributed or used for any purpose whatsoever. Such unauthorised use may be unlawful and may contain 
material protected by the Official Secrets Act (Cap 153) of the Laws of Brunei Darussalam. DISCLAIMER: 
We/This Department/The Government of Brunei Darussalam, accept[s] no responsibility for loss or damage 
arising from the use of this message in any manner whatsoever. Our messages are checked for viruses but we do 
not accept liability for any viruses which may be transmitted in or with this message.



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]