C# - Mixing of Private Constructor and non-private parameterful constructor are allowed in same class?
<p>Veterans please forgive me for asking silly question.<b> I understand that a class having  private constructor prevents instance creation .
 </b></p>

<pre><code>class InterestRate
{
    // static constructor
    static InterestRate()
    {
    }

    //private constructor
    private InterestRate()
    {
    }

    // private overloaded constructor
    private InterestRate(double d1,double d2)
    {
    }

    // overloaded constructor    
    public InterestRate(int a,int b)
    {
        Console.WriteLine("a={0},b={0}",a,b);
    }
}

static void Main()
{
    //As it is private constructor invokation i can not create a instance
    InterestRate firstInstance=new InterestRate();

    // non-private overloaded constructor allow me to craete instance 
    InterestRate r=new InterestRate(10,10);
}
</code></pre>

<p>My question is if a class with a private constructor prevents instance creation, why does that class support having a non-private constructor?</p>
