C# 'da bunu nasıl yapacağımı öğrenmek için beynimi kırarım. Aslında bir MxN metin ızgarası olan bir TextGrid sınıfım var. Bir TextGrid'de (X, Y) konumunu koruyan bir Cursor sınıfının yanı sıra pozisyonu hareket ettirmek, mevcut pozisyonu sorgulamak için yöntemler vb. Kullanmak isterdim. İdeal olarak, bu sınıfın bir TextGrid'e mantıksal olarak eklenmeden işe yaramaz olduğu için TextGrid dışında oluşturulabilir.Bir sınıfın yalnızca başka bir sınıfta oluşturulmasını nasıl kısıtlayabilirim?
Ancak, bununla başa çıkmak için yaklaşımları eşit değildir: 1) İmleç, özel bir yapıcı ile birlikte TextGrid içine yerleştirilmiş bir ortak sınıf olmalıdır, 2) İmleç, TextGrid ile iç içe özel bir sınıf olabilir. public constructor ve 3) İmleç, kamu kurucusu olan TextGrid dışında kendi ayrı bir genel sınıf olabilir. # 1 çalışmıyor çünkü özel kurucu nedeniyle bir imleci TextGrid içinden başlatamıyorum. # 2 çalışmıyor çünkü erişim kısıtlamaları nedeniyle oluşturulan İmleç nesnesini TextGrid (ör. Bir GetCursor() yöntemi) dışında döndüremiyorum. Ve # 3 hiç yardım etmiyor.
Hemen hemen, ne yapmak istiyorum C# Java'nın Yineleyiciyi eşdeğer olduğunu. Mümkün mü?
Bu güzel çalıştı, ben haha, bazı sınıf tel çekmeyi yapmak zorunda olsa. Teşekkürler! –