C# Compiler Error
CS0513 – ‘function’ is abstract but it is contained in nonabstract class ‘class’
Reason for the Error
You’ll get this error in your C# code when you declare an abstract member in a non-abstract class.
For example, let’s try to compile the below C# code snippet.
using System; namespace DeveloperPublishNamespace { public class BaseClass { abstract public void Function1(); } class Program { static void Main(string[] args) { Console.WriteLine("No Error"); } } }
You’ll receive the error code CS0513 because the class BaseClass is a non-abstract class but you have declared an abstract function “Function1”.
Error CS0513 ‘BaseClass.Function1()’ is abstract but it is contained in non-abstract type ‘BaseClass’ DeveloperPublish C:\Users\Senthil\source\repos\ConsoleApp4\ConsoleApp4\Program.cs 6 Active
Solution
In C#, a method cannot be an abstract member in a non-abstract class. You’ll need to either make the class abstract or else remove the abstract declaration from the non-abstract class.