2010-08-04 10 views
7

वास्तव में मिश्रित क्या हैं?
क्या सी # में हासिल करने के लिए कोई तकनीक है?मिक्सिन और .net

+3

विकिपीडिया लिंक अगर तुम मुझे पसंद clueless रहे mixins को लागू करने पर कदम गाइड द्वारा एक कदम होगा एक खुला स्रोत पुस्तकालय है en.wikipedia.org/wiki/Mixin – Rup

उत्तर

4

मैं कोई विशेषज्ञ नहीं हूं, लेकिन यह मुझे मिला है।

  1. Mixins in C# 3.0
  2. Implementing Mixins with C# Extension Methods

MSDN ब्लॉग से:

Mixins In C#

कुछ सुझाव है आगामी सी # 3.0 में है कि विस्तार के तरीकों, mixins का एक प्रकार है, क्योंकि आप इन तरीकों में कार्यक्षमताओं में डाल सकते हैं और मनमाने ढंग से किसी भी आप वर्ग चाहते हैं पर टैग करें। सी # 2.0 विनिर्देशन सेक्शन 20.1.3 में इसे स्पष्ट रूप से कहा जाता है कि जेनेरिक कक्षा का बेस क्लास एक निर्मित वर्ग प्रकार होना चाहिए, इसलिए यह नियम ऊपर दिए गए दृष्टिकोण का उपयोग करके सी # में उपयोग किए जाने के लिए हैं। मैं पर भी यकीन नहीं करता कि हम क्यों चुनते हैं स्पष्ट रूप से सार सबक्लास को अस्वीकार करते हैं। चूंकि सी # एकाधिक-विरासत का समर्थन नहीं करता है, इसलिए आईएमओ को को मिक्सिन शैली कोडिंग का समर्थन करना चाहिए।

6

एक मिश्रण एक वर्ग के सदस्यों का एक सेट है जिसे बहु-विरासत की समस्याओं के बिना कक्षा में "मिश्रित" किया जा सकता है।

सी # में मिश्रित प्रति मिश्रण नहीं है, लेकिन समान लक्ष्यों के लिए एक्सटेंशन विधियां प्रदान करता है।

+0

हालांकि काफी मिश्रण नहीं है। किसी भी छद्म या वास्तविक भाषा में उदाहरण देखना आसान होगा? –

+2

@NoProblemBabe: उदाहरण के लिए, रूबी 'एन्यूमेरेबल' मिश्रण प्रदान करता है जिसे कक्षाओं में मिश्रित किया जा सकता है जो फ़िल्टरिंग, मैपिंग और सॉर्टिंग के तरीकों के साथ वर्ग का विस्तार करने के लिए गणित हैं। सी #/.NET में स्थिर 'एन्यूमेरेबल' क्लास है जो अनगिनत वर्गों को फ़िल्टर करने, मैपिंग और सॉर्ट करने के लिए एक्सटेंशन विधियां प्रदान करती है ("LINQ")। – dtb

+0

सार्वजनिक इंटरफ़ेस IEmailItem { स्ट्रिंग SendToName {प्राप्त करें; सेट; } स्ट्रिंग SendToAddress {प्राप्त करें; सेट; } } फिर एक एक्सटेंशन विधि SendMail (यह IEmailItem m) {यहां कुछ वास्तविक कोड} IEmailItem इंटरफ़ेस को लागू करने वाली प्रत्येक कक्षा मेल मेल विधि को "उत्तराधिकारी" – eloycm

5

कृपया re-mix on codeplex.com देखें। http: // इसमें .NET

वहाँ के लिए mixins लाने के लिए आप कैसे नेट के साथ

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