c# object destructuring code example
Example: constructor and destructor in c#.net
What is a constructor in C#?
A special method of the class that is automatically invoked
when an instance of the class is created is called a constructor.
The main use of constructors is to initialize the private fields of the class
while creating an instance for the class. When you have not created a
constructor in the class, the compiler will automatically
create a default constructor of the class. The default constructor
initializes all numeric fields in the class to zero and all string
and object fields to null.
Some of the key points regarding constructor are
A class can have any number of constructors.
A constructor doesn't have any return type, not even void.
A static constructor can not be a parametrized constructor.
Within a class, you can create one static constructor only.
Copy Constructor in C#
The constructor which creates an object by copying variables
from another object is called a copy constructor.
The purpose of a copy constructor is to initialize a
new instance to the values of an existing instance.
Static Constructor in C#
When a constructor is created using a static keyword,
it will be invoked only once for all of the instances of the class
and it is invoked during the creation of the first instance of the class
or the first reference to a static member in the class.
A static constructor is used to initialize static fields of the class
and to write the code that needs to be executed only once.
Some key points of a static constructor are:
A static constructor does not take access modifiers or have parameters.
A static constructor is called automatically to initialize the class
before the first instance is created or any static members are referenced.
A static constructor cannot be called directly.
The user has no control over when the static constructor
is executed in the program.
A typical use of static constructors is when the class is using
a log file and the constructor is used to write entries to this file.
Private Constructor in C#
When a constructor is created with a private specifier, it is not possible for
other classes to derive from this class, neither is it possible to create
an instance of this class. They are usually used in classes that contain
static members only.
Some key points of a private constructor are:
One use of a private constructor is when we have only static members.
It provides an implementation of a singleton class pattern
Once we provide a constructor that is either private or public or any,
the compiler will not add the parameter-less public constructor to the class.