I want to use a base class but I dont want calling apps to know about it how do I do this? c#
<p>I have class library with c#. With the class 'student'. And it inherits from 'person'.</p>

<p>I want users of the class library to be able to instantiate the class student but not person.</p>

<p>I tried the following:</p>

<pre><code>public class person
</code></pre>

<p>and </p>

<pre><code>private class student : person
</code></pre>

<p>But I get the compile error:</p>

<blockquote>
  <p>Elements defined in a namespace cannot
  be explicitly declared as private,
  protected or protected internal.</p>
</blockquote>

<p>Why is this? I want to expose person but not the underlying base types.</p>
