He estado rompiendo mi cerebro para descubrir cómo hacer esto en C#. Tengo una clase TextGrid, que es esencialmente una grilla de texto MxN. Me gustaría tener una clase Cursor que mantenga una posición (X, Y) en un TextGrid, así como métodos para mover la posición, consultar la posición actual, etc. Idealmente, me gustaría que esta clase no sea Creable fuera de TextGrid, ya que es inútil sin estar conectado lógicamente a un TextGrid.¿Cómo puedo restringir que una clase sea creable solo dentro de otra clase?
Sin embargo, mis enfoques para abordar esto no son a la par: he intentado tener 1) Cursor sea una clase pública anidada dentro de TextGrid con un constructor privado, 2) Cursor sea una clase privada anidada dentro de TextGrid con public constructor, y 3) Cursor sea su propia clase pública separada fuera de TextGrid con un constructor público. # 1 no funciona porque no puedo instanciar un Cursor desde TextGrid debido al constructor privado. # 2 no funciona porque no puedo devolver el objeto Cursor creado fuera de TextGrid (por ejemplo, un método GetCursor()) debido a restricciones de acceso. Y el # 3 no ayuda en absoluto.
Bastante, lo que me gustaría hacer es tener el equivalente del iterador de Java en C#. es posible?
Esto funcionó muy bien, a pesar de que tenía que hacer alguna clase de recableado, jaja. ¡Gracias! –