Steven Schveighoffer wrote:
On Thu, 30 Jul 2009 14:40:21 -0400, Nick Sabalausky <[email protected]> wrote:

"Chad J" <chadj...@__spam.is.bad__gmail.com> wrote in message
news:[email protected]...
Daniel Keep wrote:

Maybe the compiler could rewrite the above as:

auto t = a.b;
t.c = 3;
a.b = t;


I'd always suspected C# properties did something like this, though it's
been so long since I've used C# now that I'm wondering if it's bad memory.


Same here, so I just did a little test in Visual C# 2008 Express. Turns out
that rewriting *is* exactly what C# does.

Code:
--------------------------------------
using System;

namespace ConsoleApplication1
{
    class Program
    {
        class Rect
        {


Change Rect to a struct, try again. Classes are reference types (note, I don't have a C# compiler handy, so I'm not sure what the result is).

It gives a compiler error, I already posted that somewhere else:

http://www.digitalmars.com/webnews/newsgroups.php?art_group=digitalmars.D&article_id=94292

Reply via email to