Compiler Error CS0054

Inconsistent accessibility: indexer return 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 CS0054:

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

public class MyClass3
{
   public MyClass this[int i]   // CS0054
   {
      get
      {
         return new MyClass();
      }
   }
}

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