C# Error CS0531 – ‘member’ : interface members cannot have a definition

C# Compiler Error

CS0531 – ‘member’ : interface members cannot have a definition

Reason for the Error

You’ll get this error in your C# code when you try to provide the method definition for the methods declared with-in the interface.

For example, let’s try to compile the below C# code snippet.

using System;

namespace DeveloperPublishConsole1
{
    public interface Interface1
    {
        int Method1()
        {
            return 0;
        }
    }

   
    internal class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("No Error");
        }
    }
}

You’ll receive the error code CS0531 when run the above code snippet because the interface Interface1 contains Method1 which has the definition.

Main.cs(7,13): error CS0531: `DeveloperPublishConsole1.Interface1.Method1()’: interface members cannot have a definition
Compilation failed: 1 error(s), 0 warnings

You will receive a different error code depending on the version of C# that you are running. For example, when you run this code snippet on .NET 4.7.2, you will receive the following error message.

Error CS8701 Target runtime doesn’t support default interface implementation. DeveloperPublishConsole1 C:\Users\senth\source\repos\DeveloperPublishConsole1\DeveloperPublishConsole1\Program.cs 7 Active

Error CS8370 Feature ‘default interface implementation’ is not available in C# 7.3. Please use language version 8.0 or greater. DeveloperPublishConsole1 C:\Users\senth\source\repos\DeveloperPublishConsole1\DeveloperPublishConsole1\Program.cs 7 Active

Solution

In C#, the methods that are declared in an interface must be implemented in a class and not in the interface itself.

To fix this error in your C# code, you will need to remove the method definition.

Leave A Reply

Your email address will not be published. Required fields are marked *

You May Also Like

C# Compiler Error CS0442 – ‘Property’: abstract properties cannot have private accessors Reason for the Error You’ll get this error...
This is a really simple one . Below is a simple example of an enum called “Designation” defined with the...
This blog post explain the usage of the Checked Block in .NET and how you can use them in Visual...