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()
{
}
}