मैं मैं ऐसा करते हैं तो एक System.StackOverflowException
:क्यों सी # कंपाइलर खुद को संदर्भित करने से गुण बंद नहीं करता है?
private string abc = "";
public string Abc
{
get
{
return Abc; // Note the mistaken capitalization
}
}
मुझे समझ में क्यों - संपत्ति ही संदर्भित कर रहा है, अनंत लूप के लिए अग्रणी। (पिछले प्रश्न देखें here और here)।
मैं क्या सोच रहा हूं (और जो मैंने पिछले प्रश्नों में उत्तर नहीं दिया था) क्यों सी # कंपाइलर इस गलती को पकड़ता है? यह किसी अन्य प्रकार के परिपत्र संदर्भ (स्वयं से उत्तराधिकारी वर्ग, आदि) की जांच करता है, है ना? क्या यह सिर्फ यह गलती सामान्य नहीं है कि वह जांच के लायक हो? या क्या ऐसी कोई परिस्थिति है जिसके बारे में मैं सोच नहीं रहा हूं, जब आप चाहते हैं कि एक संपत्ति वास्तव में इस तरह से संदर्भित करे?
"खुद को संदर्भित करके", मुझे लगता है कि मैं वास्तव में "खुद को बुलावा" कहने का मतलब हूं, लेकिन आपको यह विचार मिलता है। –