मैं डेरेन के जवाब से सहमत हूं, लेकिन सी # प्रोग्रामर के दृष्टिकोण से एक दृष्टिकोण जोड़ना चाहता था।
जब मुझे वह कोड दिखाई देता है जो 'setXXX' कहता है, तो मैंने पढ़ा कि यह मानने के लिए है कि यह किसी चीज़ पर एक मूल्य निर्धारित कर रहा है, मुझे यह उम्मीद नहीं है कि उस चीज़ को स्थापित करने के अलावा उस चीज़ में साइड इफेक्ट्स होंगे, और मुझे उम्मीद है कि यह बेकार होगा (यानी मैं इसे उसी मान से सेट कर सकता हूं और यह ठीक है)। यह एक क्षेत्र तक पहुँचने की तरह है। आम तौर पर मैं एक 'setXXX' के साथ एक 'गेटएक्सएक्सएक्स' विधि देखने की उम्मीद करूंगा।
मुझे नहीं पता कि यह आप जावा और सी ++ में क्या उम्मीद करते हैं, लेकिन यही मैं सी # में उम्मीद करूंगा, हालांकि सी # में इस गुण के लिए एक छोटा हाथ है। और यहाँ गुणों ( http://msdn.microsoft.com/en-us/library/ms182181.aspx ) का उपयोग करने के बारे में कुछ अच्छा मार्गदर्शन दिया गया है ।
इस दृश्य को देखते हुए, फिर मैं जो इंटरफ़ेस चुनूंगा, वह पूरी तरह से इस बात पर निर्भर करेगा कि क्या कोई साइड इफेक्ट्स (उस फ़ील्ड मान को बदलने के अलावा) हैं:
यदि क्रिया करने के साइड इफेक्ट्स हैं, उदाहरण के लिए यह एक डायलॉग बॉक्स दिखा रहा है तो मैं "शो ()", और "हाईड ()" के साथ जाऊंगा।
यदि इसका कोई साइड इफेक्ट नहीं है, तो मैं एक "विजेट" की दृश्यता सेट कर रहा हूं और कुछ और उस विजेट को राज्य के आधार पर प्रस्तुत करता है तो मैं सेटिविज़िबिलिटी या सेटआईविज़्म का उपयोग करूंगा। (मैं इसे सेटविजिबल नहीं कहूंगा)।
C # (जावा के बारे में निश्चित नहीं) में पर्यवेक्षक पैटर्न को अपनाना बहुत आम बात है, जहाँ UI फ्रेमवर्क ऑब्जेक्ट्स में बदलावों के लिए सुनेगा और विजिबलिटी जैसे प्रॉपर्टी में बदलाव होने पर स्वतः ही UI री-रेंडर कर देगा। इसका मतलब है कि setIsVouble कॉल करके मान सेट करना ऐसा प्रतीत होता है जैसे इसके दुष्प्रभाव हैं, लेकिन मेरी परिभाषा में यह नहीं है। विजेट का अनुबंध "इस्विविवि" का प्रतिनिधित्व करते हुए फ़ील्ड मान सेट करके पूरा किया गया है।
एक और रास्ता रखो, यह मेरे लिए ठीक है कि फॉर्म दिखाए जाने से पहले एक फॉर्म पर एक लेबल की दृश्यता को टॉगल करें। Ie label.getIsV अदृश्य == सच, लेकिन फ़ॉर्म नहीं दिखाया गया है।
जब फ़ॉर्म प्रदर्शित नहीं हो रहा हो तो मुझे Hide () कॉल करना ठीक नहीं है।