मैं अपने दिमाग को तोड़ने के लिए तोड़ रहा हूं कि यह सी # में कैसे किया जाए। मेरे पास एक टेक्स्टग्रिड क्लास है, जो अनिवार्य रूप से टेक्स्ट का एमएक्सएन ग्रिड है। मैं एक कर्सर क्लास रखना चाहता हूं जो टेक्स्टग्रिड में एक (एक्स, वाई) स्थिति बनाए रखता है, साथ ही साथ स्थिति को स्थानांतरित करने, मौजूदा स्थिति की पूछताछ आदि के तरीकों को बनाए रखता है। आदर्श रूप से, मैं इस वर्ग के लिए नहीं होना चाहता टेक्स्टग्रिड के बाहर रचनात्मक, क्योंकि यह टेक्स्टग्रिड से तार्किक रूप से संलग्न किए बिना बेकार है।मैं कक्षा को केवल किसी अन्य वर्ग के भीतर रचनात्मक बनाने के लिए कैसे प्रतिबंधित कर सकता हूं?
हालांकि, इसका सामना करने के लिए मेरे दृष्टिकोण बराबर नहीं हैं: मैंने 1) होने का प्रयास किया है। कर्सर एक निजी कन्स्ट्रक्टर के साथ टेक्स्टग्रिड के अंदर एक सार्वजनिक वर्ग है, 2) कर्सर टेक्स्टग्रिड के अंदर घोंसला एक निजी वर्ग है सार्वजनिक कन्स्ट्रक्टर, और 3) कर्सर एक सार्वजनिक कन्स्ट्रक्टर के साथ टेक्स्टग्रिड के बाहर अपनी अलग सार्वजनिक कक्षा हो। # 1 काम नहीं करता है क्योंकि मैं निजी निर्माता के कारण टेक्स्टग्रिड के भीतर से कर्सर को तुरंत चालू नहीं कर पा रहा हूं। # 2 काम नहीं करता है क्योंकि मैं एक्सेस प्रतिबंधों के कारण TextGrid (उदा। GetCursor() विधि) के बाहर बनाए गए कर्सर ऑब्जेक्ट को वापस नहीं कर सकता। और # 3 बिल्कुल मदद नहीं करता है।
बहुत कुछ, मैं जो करना चाहता हूं उसके पास सी # में जावा के इटरेटर के बराबर है। क्या यह संभव है?
इस खूबसूरती से काम किया, हालांकि मैं कुछ वर्ग rewiring, haha करना था। धन्यवाद! –