Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ```c#
- void Main()
- {
- //ok
- var ComplexUser = new ComplexUser();
- var complex = ComplexUser.complex;
- complex.Re = 1;
- ComplexUser.Dump();
- //still ok
- var ComplexUser2 = new ComplexUser();
- ComplexUser2.complex.Re = 1;
- ComplexUser2.Dump();
- }
- class ComplexUser
- {
- private Complex _complex = new Complex();
- public Complex complex { get { return _complex; } }
- }
- class Complex
- {
- private double re;
- private double im;
- public double Re
- {
- set { this.re = value; }
- get { return this.re; }
- }
- public double Im
- {
- set { this.im = value; }
- get { return this.im; }
- }
- public double Abs
- {
- get { return Math.Sqrt(re * re + im * im); }
- }
- }
- ```
- ```c#
- void Main()
- {
- //ok
- var ComplexUser = new ComplexUser();
- var complex = ComplexUser.complex;
- complex.Re = 1;
- ComplexUser.Dump();
- // error
- // CS1612 Cannot modify the return value of 'UserQuery.ComplexUser.complex' because it is not a variable
- var ComplexUser2 = new ComplexUser();
- ComplexUser2.complex.Re = 1;
- ComplexUser2.Dump();
- }
- struct ComplexUser
- {
- private Complex _complex = new Complex();
- public Complex complex { get { return _complex; } }
- }
- class Complex
- {
- private double re;
- private double im;
- public double Re
- {
- set { this.re = value; }
- get { return this.re; }
- }
- public double Im
- {
- set { this.im = value; }
- get { return this.im; }
- }
- public double Abs
- {
- get { return Math.Sqrt(re * re + im * im); }
- }
- }
- ```
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement