Compiler Error CS0056

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

A public construct must return a publicly accessible object. For more information, see Access Modifiers.

The following sample generates CS0056:

// CS0056.cs  
class MyClass  
// try the following line instead  
// public class MyClass  
{  
}  
  
public class A  
{  
   public static implicit operator MyClass(A a)   // CS0056  
   {  
      return new MyClass();  
   }  
  
   public static void Main()  
   {  
   }  
}