除非继承,否则最简单的方法是使C#不实例化一个类?

11 c# inheritance class

除非继承,否则使C#不实例化类的最简单方法是什么?

听起来很奇怪,但我不想解释原因.我有一个基类和两个继承它的类.我只想使用派生类而不是基类.derive类没有任何额外的功能.什么是最简单的方法,不允许我写新的BaseClass(); 所以我不小心使用它?我确实有在基类上运行的函数,而不是派生的函数.

Fin*_*las 45

使该类成为abstract基类.

abstract class Person { }

class Programmer : Person { }

var person = new Person();          // compile time error
var programmer = new Programmer();  // ok
Run Code Online (Sandbox Code Playgroud)

  • 在尝试实例化时,你甚至无法在intellisense列表中看到类名,这对于提高知识来说非常棒:) (3认同)

Tad*_*ghe 5

基类可以是抽象的吗?那样做会.


chi*_*tom 5

public abstract class BaseClass {
...
}
Run Code Online (Sandbox Code Playgroud)


Jam*_*ing 5

而不是正常的:

"public Class MyClass"

做了

"public abstract Class MyClass"
Run Code Online (Sandbox Code Playgroud)