What is the need of private constructor in C#? I got it as a question for a C# test.
And of course you can use private constructor to prevent subclassing.