When and why should I use ClassName : this(null)?
c#, constructor, parameters
Solution
This permits the single-param constructor to have all the logic, so it isn't repeated.
public ClassName() : this(null) {}
public ClassName(string s)
{
// logic (code)
if (s != null) {
// more logic
}
// Even more logic
}
I hope it's clear that the "logic" and "even more logic" would have needed to be repeated in the parameterless constructor if not for the `this(null)`.
Problem
i can't understand the difference between a simple bare ``` Public ClassName() {} ``` and ``` Public ClassName() : this(null) {} ``` I know I can use it only if i have a `+1` overloaded ctor, but I can't understand the advantages of `defining the parameterless constructor` this way.