Inconsistent accessibility: parameter type 'type' is less accessible than indexer 'indexer'
A public construct must return a publicly accessible object.
The following sample generates CS0055:
class MyClass { // try the following line instead // public class MyClass { } public class MyClass2 { public int this[MyClass i] { // CS0055 get { return 0; } } } public class MyClass3 { public static void Main() { } }