2010-05-26 8 views
6

सदस्यों/फ़ील्ड को निजी विधि और सार्वजनिक विधि से कॉल करने का सबसे अच्छा अभ्यास क्या है? क्या निजी विधि हमेशा निजी फ़ील्ड को कॉल करनी चाहिए या क्या उन्हें सार्वजनिक सदस्यों को कॉल करना चाहिए?विधि कॉलिंग सार्वजनिक/निजी सदस्य या तरीके सर्वश्रेष्ठ अभ्यास - सी # .NET

private string _name; 
public string Name 
{ 
    get {return _name; } 
    set { _name = value; } 
} 

public void DoSomething() 
{ 
    _doSomething(); 
} 


private void _doSomething() 
{ 
    _name.ToLower(); 
} 
+0

यह भी देखें कि http://stackoverflow.com/questions/3310186/are-there-any-reasons-to-use-private-properties-in-c – nawfal

उत्तर

11

मैं सभी कोड को पसंद सार्वजनिक इंटरफ़ेस के माध्यम से जाने के लिए, बस कोड है कि वास्तविक समर्थन क्षेत्र तक पहुँचता में स्थानों की संख्या कम करने के लिए। दो कारण

  • डिबगिंग को सरल बनाता है; यदि आपके पास कोई समस्या है जहां कोई मान बदल दिया गया है, या एक अप्रत्याशित मान देता है, तो आप संपत्ति गेटटर या सेटर के अंदर ब्रेकपॉइंट सेट कर सकते हैं और आसानी से मूल्य तक पहुंच सकते हैं।
  • परिवर्तनों के प्रभाव को कम करता है, आप क्षेत्र में परिवर्तन कर सकते हैं और यह सीधे कोड में बहुत कम स्थानों को प्रभावित करेगा।

या, इसे एक शब्द में रखने के लिए: encapsulation

+0

+ "encapsulation" के लिए बहुत कुछ। चूंकि स्टीव मैककोनेल ने इसे कोड पूर्ण में रखा, बिना encapsulation के, आपके पास अमूर्तता नहीं है, या तो। –

1

कुछ मामलों में आपकी सार्वजनिक संपत्ति में कुछ तर्क हो सकते हैं जो आपको चाहिए और उस स्थिति में आप हमेशा स्थानीय चर के बजाय संपत्ति का उपयोग करेंगे, यदि आप सुनिश्चित हैं कि आप निजी सदस्य चर का उपयोग करना चाहते हैं, और खुलासा नहीं करना चाहते हैं बाहरी दुनिया की कार्यक्षमता, उस विशेष विधि को निजी बनाएं।

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^