Jonathan Starr's Blog
Thoughts on C#, Ajax, WCF, LINQ et al.
Site Sections
Home
Contact
Syndication
Login
Posts
71
Comments
67
Trackbacks
0
Tuesday, January 15, 2008
Automatic Properties in C# - A Critique
improve
my
=>
'code'
In the latest release of Orcas, one of the new features provided is "Automatic Properties" which allows developers to use a shorthand like the following:
public class
Person {
public string
FirstName {
get; set;
}
public string
LastName {
get; set;
}
public int
Age {
get; set;
}
}
and the compiler knows to interpret this as
public class
Person {
private string
_firstName
;
private string
_lastName
;
private int
_age
;
public string
FirstName {
get
{
return
_firstName
;
}
set
{
_firstName
= value;
}
}
public string
LastName {
get
{
return
_lastName
;
}
set
{
_lastName
= value;
}
}
public int
Age {
get
{
return
_age
;
}
set
{
_age
= value;
}
}
}
Prima facie, this looks like a good thing. The developer is typing less code, and still has hooks in property accessors to perform validation, or needed side effects from value changes.
But I have a few problems with this shorthand.
Criticism 1
Why is this shorthand needed when there is a snippet (prop) that provides full property accessors, with better hooks for inserting custom actions like validation?
Criticism 2
I think that the shorthand looks too much like the signature of a method normally found in an interface, not a class. The only difference appears to be an access modifier. So I find the shorthand syntax is confusing...
What do you think?
Jonathan Starr
posted @
Tuesday, January 15, 2008 8:00 PM
|
Feedback (3)
Archives
July, 2008 (1)
June, 2008 (3)
May, 2008 (2)
April, 2008 (3)
March, 2008 (4)
February, 2008 (1)
January, 2008 (13)
December, 2007 (19)
November, 2007 (12)
October, 2007 (10)
September, 2007 (3)
Post Categories
C#
Philosophy
Critique
JavaScript
Links
Software Design
Personal
Religion
Music
Language
Microsoft Live
Politics
Geopolitics
Humor
Physics
Thought Experiments
Businesses using ASP.NET
Friends
Finance
Microsoft Events
Sharepoint
CRM
Caffeine
Africa
Charity
Sports
Statistics
Privacy
Management
Software Development
WCF
Instructional Video
1CCN.COM
Mobile Phone Applications
Windows Movie Maker
Management
Financial Engineering
ASP.NET
SQL Server
Anthropology
Agile Development
Scrum
Image Galleries
Fishing Trip
About the Author
Blogs
Scott Guthrie
Timothy Ferriss
GeeksWithBlogs
Bill Evjen
Kevin Grossnicklaus
Meridium Visual Studio Macros
Geometry
Flatland!
Good topology problem
Moebius Transformations
Music
Amish Paradise
Chiron Beta Prime Christmas
Code Monkey
Don't Download this Song
I Feel Fantastic!
re: Your Brains
The Future Soon
What's the matter with parents today
White & Nerdy
Programming
Good Script # Intro
jQuery
LOL Code Compiler
Meridium Visual Studio .NET Macros
MyGeneration
MyGeneration
Refactor Code
SkyDrive
Storage
Skydrive
Videos
Trunk Monkey
News
Jonathan Starr is a developer in Saint Louis, MO. He holds an MBA in Finance from Columbia Business School and earned his MCSD from Microsoft.
All statements in this blog are personal opinions and do not reflect the opinions of his employer.
Related Sites
Tag Cloud
Windows Live Writer
more tags...
Copyright © 2005 Jonathan Starr
This work is licensed under a
Creative Commons License