Possible Duplicate:
How do you give a C# Auto-Property a default value?
I have a property in a class like so
public String fontWeight { get; set; }
I want it’s default to be of "Normal"
Is there a way to do this in “automatic” style rather than the following
public String fontWeight {
get { return fontWeight; }
set { if (value!=null) { fontWeight = value; } else { fontWeight = "Normal"; } }
}
No, an automatic property is just a plain getter and/or setter and a backing variable. If you want to put any kind of logic in the property, you have to use the regular property syntax.
You can use the
??operator to make it a bit shorter, though:Note that the setter is not used to initialise the property, so if you don’t set the value in the constructor (or assign a value in the variable declaration), the default value is still null. You could make the check in the getter instead to get around this: