Auto-implemented getters and setters vs. public fields
Posted
by tclem
on Stack Overflow
See other posts from Stack Overflow
or by tclem
Published on 2008-09-21T17:22:23Z
Indexed on
2010/06/03
2:14 UTC
Read the original article
Hit count: 290
I see a lot of example code for C# classes that does this:
public class Point {
public int x { get; set; }
public int y { get; set; }
}
Or, in older code, the same with an explicit private backing value and without the new auto-implemented properties:
public class Point {
private int _x;
private int _y;
public int x {
get { return _x; }
set { _x = value; }
}
public int y {
get { return _y; }
set { _y = value; }
}
}
My question is why. Is there any functional difference between doing the above and just making these members public fields, like below?
public class Point {
public int x;
public int y;
}
To be clear, I understand the value of getters and setters when you need to do some translation of the underlying data. But in cases where you're just passing the values through, it seems needlessly verbose.
© Stack Overflow or respective owner