Compiler Error CS0058

Inconsistent accessibility: return type 'type' is less accessible than delegate 'delegate'

A public construct must return a publicly accessible object. For more information, see Access Modifiers (C# Programming Guide).

The following sample generates CS0058 because no access modifier is applied to MyClass and therefore it is given private accessibility by default:

// CS0058.cs
class MyClass
// try the following line instead
// public class MyClass
{
}

public delegate MyClass MyClassDel();   // CS0058

public class A
{
   public static void Main()
   {
   }
}

See Also

Reference

private (C# Reference)