Tuesday 15 February 2011

c# - Creating Multiple Levels of Properties within a Class -


इस सवाल का पहले से ही एक उत्तर है: < / P>

  • 9 जवाब

मैंने एपीआई के साथ काम किया है जो अन्य संस्थाओं के भीतर तरीकों का उदाहरण था, और मैं इसे समझने में सक्षम नहीं हूं कि यह कैसे मेरे लिए पुन: बनाएँ। उदाहरण के लिए, अगर मेरे पास "हाउस" नामक एक वर्ग है, और उस घर में अलग-अलग दरवाजे थे, और मैं एक दरवाजे में एक खिड़की रखना चाहता था, उदाहरण के साथ काम करने के लिए कोड कुछ ऐसा दिखाई देगा:

  हाउस myHouse = नया घर; मेरा हाउस। रूम ("लिविंग रूम")। दरवाजे ("मोर्चे")। प्लेस विन्डो ("चारों ओर पाले से छिद्रित");  

मुझे उम्मीद है कि मेरा प्रतिनिधित्व समझ में आता है। मैं महीनों के लिए VB.Net में रह रहा हूं, और हम बस सी # पर वापस स्विच करना शुरू कर रहे हैं। मैं वास्तव में इस बारे में उत्सुक हूँ.यह.यह.इस पहलू।

मुझे एक ऐसा ऑब्जेक्ट करना है जो यह प्रयोग करना आसान है और हेरफेर करना है, और मैं केवल गुणों और विधियों को भीतर ही रख सकता हूँ मेरे वर्तमान ज्ञान के साथ एक वर्ग मुझे यह नहीं पता कि खोज इंजन में किस प्रकार खोजना है कि यह किस तरह का वर्ग बनाना है (या यह किस प्रकार का संकलन है)। अगर कोई मुझे सही दिशा में चलाने में सक्षम हो, तो यह बहुत ही मददगार होगा।

कुछ प्रकार के खतरों हैं दृष्टिकोण का; हालांकि, अगर आप ऐसा करने की इच्छा रखते हैं, तो आप केवल हर ऑब्जेक्ट को उस बच्चे-ऑब्जेक्ट के साथ बनाते हैं, जो आप चाहते हैं।

आपके उदाहरण के लिए आप इन का निर्माण करेंगे:

  सार्वजनिक वर्ग हाउस {निजी रीडोनली सूची & lt; कक्ष & gt; _rooms = नई सूची & lt; कक्ष & gt; (); सार्वजनिक कक्ष कमरे (स्ट्रिंग रूम नाम) {रिटर्न _ रूम। सिंगल (एक्स = & x; नाम। == कमरा नाम); } सार्वजनिक शून्य AddRoom (स्ट्रिंग रूमनाम) {_rooms.Add (नया कमरा {name = roomName}); }} सार्वजनिक वर्ग कक्ष {निजी रीडोनली सूची & lt; दरवाजा & gt; _doors = नई सूची & lt; दरवाजा & gt; (); सार्वजनिक स्ट्रिंग नाम {get; सेट; } सार्वजनिक दरवाजा दरवाजे (स्ट्रिंग का द्वार) {रिटर्न _डोरर्स। सिंगल (एक्स = & gt; x.Name == doorName); } सार्वजनिक शून्य AddDoor (स्ट्रिंग doorName) {_doors.Add (नया दरवाजा {नाम = doorName}); }} सार्वजनिक वर्ग द्वार {निजी रीडोनली सूची & lt; विंडो & gt; _windows = नई सूची & lt; विंडो & gt; (); सार्वजनिक स्ट्रिंग नाम {get; सेट; } सार्वजनिक विंडो विंडोज़ (स्ट्रिंग खिड़कीनाम) {वापसी _windows.Single (x = & gt; x.Name == windowName); } सार्वजनिक शून्य स्थान विन्डो (स्ट्रिंग विंडोनाम) {_windows। जोड़ें (नई विंडो {नाम = windowName}); }} सार्वजनिक वर्ग विंडो {सार्वजनिक स्ट्रिंग नाम {get; सेट; }}  

No comments:

Post a Comment