title: Private constructor and public parameter constructor
body: <p>I heard that a private constructor prevents object creation from the outside world.</p>
  
  <p>When I have a code</p>
  
  <pre><code>public class Product
  {
     public string Name { get;set;}
     public double Price {get;set;}
     Product()
     {
     }
  
     public Product(string _name,double _price)
     {
     }
  }
  </code></pre>
  
  <p>Here I still can declare a public constructor (parameter), won't it spoil the purpose of the private constructor? When do we need both private and public constructor (parameter) in code?</p>
  
  <p>I need a detailed explanation please.</p>