2012-07-08 23 views
5

के साथ सार्थक पैरामीटर नाम बनाना मुझे उम्मीद है कि ऐसा करने के लिए कुछ चालाक तरीका है। मेरे पास एक सामान्य आधार सेवा है जिसमें कई विधियां हैं ... इसलिए वर्तमान में इस बेस क्लास (टी ओबीजे) जैसी कुछ विधियां हैं।जेनेरिक

public class ProductService : BaseService<Product> 

मैं इसे संकलित करने के लिए चाहते हैं: क्या मैं चाहता संकलक एक अधिक सहज पैरामीटर नाम (कुछ नियम के आधार पर) ताकि आधार सेवा का एक ठोस उदाहरण इस तरह बनाई गई है जब बनाने के लिए है यह करने के लिए ProductService विधि (उदाहरण के लिए):

public Product Create(Product product) 
बजाय

public Product Create(Product obj) 

मैं इसे मामूली लग रहा है, लेकिन एक प्रशिक्षु मुझे दूसरे दिन कहा और मैं उसे 100% यकीन है कि नहीं बता सकता पता ये था संभव नहीं है

+2

मैं पूरा करने के लिए आप क्या कह रहे हैं किसी भी तरह की पता नहीं है, लेकिन फिर भी 'obj' से जुड़ी 'इकाई' का उपयोग करके मुझे आपके कोड को पढ़ने में अधिक समझ आएगी। विशेष रूप से यदि कक्षा 'आईईएनटीटीआई' इंटरफेस से या आधार 'इकाई' वर्ग से विरासत में मिली है। – Paul

+0

वास्तव में ... सहमत ... – Rikon

उत्तर

3

जहाँ तक मुझे पता है, इसे स्वचालित रूप से प्राप्त करने का कोई तरीका नहीं है। हालांकि, अगर आप वास्तव में वैसे भी यह करना चाहता था, आप विधि virtualBaseService में कर सकता है, और प्रत्येक उपवर्ग ओवरराइड:

public override Product Create(Product product) { 
    return base.Create(product); 
} 
+2

मैं मानता हूं कि पोस्टर ने जो पूछा है उसे प्राप्त करने का शायद सबसे अच्छा तरीका है, लेकिन यह वास्तव में छोटे लाभ के लिए बहुत सारे प्रयासों की तरह लगता है। मैं वास्तव में ऐसा करने की सलाह नहीं दूंगा, लेकिन यह काम करेगा। –

+0

@ जोनाथनरूप: +1; सहमत - विशेष रूप से, क्योंकि 'उत्पाद obj' या' उत्पाद इकाई 'अभी भी अर्थपूर्ण रूप से समझ में आता है। –

+0

हाँ ... कभी-कभी ऐसे छोटे उपशीर्षक होते हैं जिन्हें मैं अवसर पर याद करता हूं ... मैं सार्वजनिक शून्य सम्मिलित करने के लिए कुछ उम्मीद कर रहा था (टी @@ टी। गेट टाइप()। नाम.ToLower()) इसके अलावा, उस मानसिकता के साथ, मैं टी पर प्रतिबिंबित समय संकलित कर सकता था ... लेकिन ओह ठीक है ... मुझे लगता है कि w/clr टीम के लिए अच्छा लगा है ... – Rikon