I came to know that C# 3.0 comes with a new feature of Auto-Implemented Properties,I liked it as we don't have to declare extra private varible in this (compare to earlier property), earlier I was using a Property i.e.
private bool isPopup = true;
public bool IsPopup
{
get
{
return isPopup;
}
set
{
isPopup = value;
}
}
Now I've converted it into Auto-Implemented property i.e.
public bool IsPopup
{
get; set;
}
I want to set the default value of this property to true without using it not even in page_init method, I tried but not succeeded, Can anyone explain how to do this?
You can use default property value like below
One advantage of this method is you don't need to check null values for Boolean types
You can initialize the property in the default constructor:
With C# 6.0 it is possible to initialize the property at the declaration like normal member fields:
It is now even possible to create a real read-only automatic property which you can either initialize directly or in the constructor, but not set in other methods of the class.
Have you tried DefaultValueAttribute
Attributes specified for an auto property do not apply to the backing field, so an attribute for a default value won't work for this type of property.
You can, however, initialize an auto property:
VB.NET
C# 6.0 and above
C# 5.0 and below
Unfortunately, C# versions below 6.0 do not support this, so you have to initialize the default values for auto properties in the constructor.