我想使用基类,但我不想让应用程序知道它我该怎么做?C#

Exi*_*tos 1 c#

我有c#的类库.与班级'学生'.它继承自'人'.

我希望类库的用户能够实例化班级学生而不是人.

我尝试了以下方法:

public class person
Run Code Online (Sandbox Code Playgroud)

private class student : person
Run Code Online (Sandbox Code Playgroud)

但是我得到了编译错误:

命名空间中定义的元素不能显式声明为private,protected或protected internal.

为什么是这样?我想暴露人而不是潜在的基本类型.

And*_*ewC 10

将您的Person类声明为abstract.这意味着它无法实例化.

抽象类不能实例化为对象,仅用于派生子类.

public abstract class Person
{
 // members here
}

public class Student : Person
{
 // members here
}
Run Code Online (Sandbox Code Playgroud)

有关 更多信息,请参阅此MSDN文章.