मैं कक्षाओं का एक सेट विकसित कर रहा हूं
जो एक सामान्य इंटरफ़ेस
लागू करता है। मेरी लाइब्रेरी का उपभोक्ता इन वर्गों में से प्रत्येक को स्थिर कार्यों के एक निश्चित सेट को लागू करने की अपेक्षा करेगा। क्या वैसे भी है कि मैं इन वर्गों को सजाने के लिए कर सकता हूं ताकि संकलक उस मामले को पकड़ लेगा जहां कार्यों में से एक लागू नहीं किया गया है।क्या कुछ स्थिर कार्यों को लागू करने के लिए सी # कक्षा को मजबूर करने का कोई तरीका है?
मुझे पता है कि उपभोग करने वाले कोड के निर्माण के दौरान अंत में पकड़ा जाएगा। और मैं यह भी जानता हूं कि फैक्ट्री क्लास का उपयोग करके इस समस्या को कैसे प्राप्त किया जाए।
कक्षा में स्थैतिक कार्यों की आवश्यकता के लिए वहां कोई वाक्यविन्यास/गुण मौजूद है या नहीं, यह जानने के लिए उत्सुक है।
एड भ्रम से बचने के लिए 'इंटरफ़ेस' शब्द को हटा दिया गया।
मेरी जिज्ञासा क्षमा करें, लेकिन मैं सोचने में मदद नहीं कर सकता कि आपको इस तरह की सुविधा क्यों चाहिए? स्थैतिक तरीकों का क्या सामान्य उदाहरण है (गैर स्थैतिक) तरीकों में नहीं है? मेरे दिमाग में कुछ भी नहीं आता है। अपने प्रश्न के लिए कुछ संदर्भ साझा करने की तरह लग रहा है? – Dan
आपको स्थैतिक विधि कॉल करने के लिए किसी उदाहरण की आवश्यकता नहीं है। इसलिए वे फैक्ट्री विधियों के रूप में उपयोग करने के लिए अच्छे हैं, उदाहरण के लिए एक डी-सीरियलाइज विधि। – tpower
@ डैन: एक अतिरिक्त उपयोग इंटरफ़ेस का उपयोग करने के बिना यह जानने के बिना होगा कि आप किसी उदाहरण या किसी प्रकार (या बाद में इसे बदल रहे हैं) पर काम कर रहे हैं या नहीं। एक स्थिर वर्ग के बारे में सोचें जो किसी प्रकार की सिंगलटन सूची का प्रतिनिधित्व करता है - और इसे उचित सूची के रूप में, 'IList' लागू करना चाहिए। निश्चित रूप से, स्थिर वर्ग में 'IList ' लागू करने वाली कक्षा के उदाहरण को संग्रहीत करने का काम संभव है (और मुझे पता है कि वर्तमान में सी # वर्तमान में केवल इस तरह की अनुमति देता है), लेकिन क्लासिक रूप से क्लासिक रूप से घोषित करने की क्षमता एक इंटरफ़ेस को कार्यान्वित करना अप्रत्यक्ष स्तर का संकेत हटा देगा। –