Skip to main content

Cannot create an instance of abstract class

In This Article

CodeRush Classic shows the Cannot create an instance of abstract class code issue if an instance creation statement references an abstract class.

#Fix

Create an instance of a non-abstract descendant of the current abstract class.

#Purpose

Highlights the instance creation statements, which would cause the Cannot create an instance of the abstract class or interface compilation error.

#Example

abstract class MyClass
{
    public abstract void OutputText(string text);
}
public class TestClass
{
    public TestClass()
    {
        MyClass objVar = new MyClass();
    }
}

Fix:

abstract class MyClass
{
    public abstract void OutputText(string text);
}
class MyClassDescendant: MyClass
{
    public override void OutputText(string text)
    {
        Console.Write(text);
    }
}
public class TestClass
{
    public TestClass()
    {
        MyClass objVar = new MyClassDescendant();
    }
}