Constructor of an abstract class in C#

Mulder picture Mulder · Apr 9, 2011 · Viewed 181.6k times · Source

Why is it possible to write constructor for an abstract class in C#?
As far as I know we can't instantiate an abstract class.. so what is it for?
You can't instantiate the class, right?

Answer

Craig Suchanec picture Craig Suchanec · Apr 9, 2011

Because there might be a standard way you want to instantiate data in the abstract class. That way you can have classes that inherit from that class call the base constructor.

public abstract class A{

    private string data;

    protected A(string myString){
      data = myString;
    }

}

public class B : A {

     B(string myString) : base(myString){}

}