Compiler Error CS0055

Inconsistent accessibility: parameter type 'type' is less accessible than indexer 'indexer'

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

The following sample generates CS0055:

// CS0055.cs
class MyClass //defaults to private accessibility
// try the following line instead
// public class MyClass
{
}

public class MyClass2
{
   public int this[MyClass myClass]   // CS0055
   {
      get
      {
         return 0;
      }
   }
}

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