दिलचस्प पोस्ट
गिथूब: मेरी निजी रिपॉजिटरी क्लोन करना त्रुटि सेज फ़ाइलों का नाम बदलने के लिए सेज का उपयोग करना लिंक के बिना जावास्क्रिप्ट ब्लॉब फ़ाइल नाम किसी अन्य शाखा से सिर्फ एक फाइल कैसे प्राप्त करें एंड्रॉइड डिवाइस पर सॉफ़्टवेयर कीबोर्ड दृश्यमान है, तो मैं यह कैसे पता लगाऊँ? शीट में दो संपूर्ण पंक्तियों की तुलना कैसे करें सरणी से आइटम निकालें यदि यह 'अस्वीकृत शब्दों' सरणी में मौजूद है Arrays.asList () काम नहीं कर रहा है जैसा चाहिए? सुरक्षाएक्सेप्शन: कॉलर यूआईडी XXXX प्रामाणिकेटर की यूआईडी से अलग है सबसे उपयोगी NLog कॉन्फ़िगरेशन UINavigationBar पर बैक बटन का पाठ कैसे सेट करें? प्रोटोटाइप का उपयोग करने के लिए जावास्क्रिप्ट मैं डीएलएल इंजेक्शन कैसे रोकूं? क्या एसक्यूएल के साथ डायनामिक एमएसक्यूएल प्रश्नों को तैयार किया जाता है जैसे कि तैयार बयान के रूप में सुरक्षित? क्या मैं .NET / C # से अन्य प्रक्रियाओं के कमांड लाइन तर्क प्राप्त कर सकता हूं?

संपत्ति सेट क्यों StackOverflow अपवाद फेंक है?

मुझे जावा पता है और आमतौर पर गेस्टेटर / सेटर तरीकों में डाल दिया जाएगा। मुझे निम्न कोड के साथ सी # में करने में दिलचस्पी है, लेकिन यह एक स्टैक ओव्हरफ्लो अपवाद फेंकता है मैं क्या गलत कर रहा हूं?

कॉलिंग कोड

c.firstName = "a"; 

संपत्ति संहिता

 public String firstName; { get { return firstName; } set { firstName = value; } } 

वेब के समाधान से एकत्रित समाधान "संपत्ति सेट क्यों StackOverflow अपवाद फेंक है?"

ऐसा इसलिए है क्योंकि आप फिर से संपत्ति को बुला रहे हैं – set आप संपत्ति फिर से set कर रहे हैं, जो कि जब तक आप स्टैक उड़ाने तक विज्ञापन अनन्तता जारी रखता है।

आपको मूल्य रखने के लिए निजी बैकिंग फ़ील्ड की आवश्यकता है, जैसे

 private string firstName; public string FirstName { get { return this.firstName; } set { this.firstName = value; } } 

वैकल्पिक रूप से, यदि आप सी # 3.0 का उपयोग कर रहे हैं, तो आप एक ऑटो-प्रॉपर्टी का उपयोग कर सकते हैं, जो आपके लिए एक गुप्त बैकिंग फ़ील्ड बनाता है, उदा।

 public string FirstName { get; set; } 

आप अपनी प्रॉपर्टी में प्रॉपर्टी नाम सेट कर रहे हैं – फ़ील्ड नाम नहीं। यह बेहतर काम करेगा:

 private m_firstName; public String firstName; { get { return m_firstName; } set { m_firstName = value; } }