Inconsistent accessibility: indexer return type 'type' is less accessible than indexer 'indexer'
A public construct must return a publicly accessible object.
The following sample generates CS0054:
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() { } }