2009-08-28 16 views
16

आदत से बाहर मैं अलग-अलग फ़ाइलों में वर्ग/structs/गणनाओं को घोंसला नहीं देता है।मैं अपनी सी # प्रतिनिधि घोषणा कहां रखूं, अपनी फाइल में?

प्रतिनिधियों के लिए यह एक एक लाइनर के लिए एक अलग फ़ाइल बनाने के लिए overkill की तरह लगता है:

public delegate string MyDelegateThatIsNotNestedInAnyClass (string par); 

मैं आमतौर पर सबसे अधिक बारीकी से जुड़े वर्ग फ़ाइल के नीचे में जोड़ें। मैं बस सोच रहा था कि अन्य लोग क्या करते हैं?

उत्तर

4

मैं प्रत्येक प्रकार को एक अलग कोड फ़ाइल में डालता हूं। ऐसा करने से आप, समाधान Explorer में नेविगेट हालांकि ReSharper चट्टानों में मदद मिलेगी "Go To File"

alt text http://www.jetbrains.com/resharper/features/screenshots/40/navigation_gotofile.png

और "Go To Type" के साथ:

alt text http://www.jetbrains.com/resharper/features/screenshots/40/navigation_gototype.png

+0

आपकी छवियां अब टूटी हुई हैं –

1

आमतौर पर, मैं तो बस का उपयोग करें:

Func<string, string> 

इन दिनों

+0

जबकि मैं मानता हूं कि यह सामान्य प्रतिनिधि अपने स्वयं के प्रतिनिधियों को घोषित करने से बहुत अधिक काम करता है (क्योंकि यह उनमें से कई को समायोजित कर सकता है), यह वास्तव में उनके प्रश्न का उत्तर नहीं है, इसलिए मैं ऊपर नहीं जा सकता। –

+0

मैं कसम खाता हूं कि मैं एकमात्र ऐसा व्यक्ति हूं जो वास्तव में अप्रासंगिक उत्तरों को कम करता है। – jfar

+0

@jfar: क्या आप जानते हैं कि आप एक्स मेन ऑरिजिंस: वूल्वरिन से विक्टर क्रिएड (उर्फ सबरेटोथ) के लिए एक हड़ताली समानता रखते हैं? –

2

मैं आमतौर पर वर्ग जो प्रतिनिधि समारोह (नाम स्थान स्तर पर) को लागू करता है की .cs फ़ाइल में जोड़ें। यदि इनमें से कई हैं, तो मैंने इसे एक अलग फ़ाइल में रखा है।

यदि मुझे पता है कि केवल एक वर्ग प्रतिनिधि समारोह को लागू करेगा, तो मैं इसे कार्यान्वयन कक्षा में घोंसला दूंगा।

1

मैं व्यक्तिगत रूप से एक निकट से संबंधित वर्ग परिभाषा पहले जोड़ने । मैं नेमस्पेस का अच्छा उपयोग करता हूं, हालांकि, मैं प्रदूषित नहीं करता!

1

यदि यह कक्षा के समान फ़ाइल में से संबंधित होने के लिए पर्याप्त रूप से संबंधित है, तो आप संभवतः कक्षा में घोंसले को उचित ठहरा सकते हैं। फिर आपको यह याद रखने में कोई दिक्कत नहीं होगी कि यह किस वर्ग फ़ाइल में है।

यदि कोई भी वर्ग नहीं है जो घोंसला करने के लिए एक स्पष्ट विकल्प है, तो एक-पंक्ति फ़ाइल बनाना संभवतः सार्थक है क्योंकि आप याद रखने की कोशिश करने में समय बर्बाद नहीं करेंगे आप जिस वर्ग फ़ाइल में इसे डालने का निर्णय लेते हैं।

1

मैं हमेशा अपनी खुद की घटनाओं की घोषणा करता हूं, भले ही मुझे उन्हें इस स्थिति में आवश्यकता न हो कि एक सामान्य घटना पर्याप्त होगी। इसका कारण यह है कि घटना का वर्ग नाम कोड को और अधिक पठनीयता देता है और कुछ कारणों से घोषित घटना को शायद ही कभी सड़क के नीचे की आवश्यकता नहीं होगी। चूंकि मेरे पास एक इवेंट क्लास है, इसलिए मैं हमेशा इस कार्यक्रम की कक्षा घोषणा के ऊपर प्रतिनिधि को डालता हूं। वे निकटता से जुड़े हुए हैं और यदि आपको घटना को सुनने की आवश्यकता है तो आपको घटना और प्रतिनिधि दोनों की आवश्यकता होगी। मुझे नहीं पता कि यह किसी भी तरह के कुछ डिजाइन नियमों का उल्लंघन करता है, लेकिन यह मेरे लिए अच्छी तरह से काम किया है।

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