Seems like i learn something new everyday...
public string Name{ get { return name; } protected set { name = value; }}
I never knew that i could put an accessibility level to the 'set' portion of my property. This technique is called Asymmetric Accessor Accessibility. Read more here.
Disclaimer The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.