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.

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