यह कानूनी सी # नहीं है। वह पॉलीफोनिक सी # है। यह research project from Microsoft है। यह शर्म की बात है यह ठीक से परिभाषित नहीं कर रहा है है, लेकिन बात यह है:
में पॉलीफोनिक सी #, तथापि, एक शरीर (तुल्यकालिक और/या अतुल्यकालिक) के तरीकों में से एक सेट के साथ जुड़ा हो सकता है। हम इस तरह की परिभाषा को एक तार कहते हैं, और कई तारों के शीर्षलेख में एक विशेष विधि दिखाई दे सकती है। एक तार का शरीर केवल उसके शीर्षलेख में सभी विधियों को बुलाए जाने के बाद निष्पादित कर सकता है।
तो &
उन विधियों को एक तार में "बाध्यकारी" कर रहा है जिसे तब तक लागू नहीं किया जाएगा जब तक तार में सभी विधियों का उपयोग नहीं किया जाता है।
एक छोटी सी आगे ही article में साथ:
इन दो तरीकों दिखाई शरीर जो की वापसी बयान के होते हैं एक भी तार, के शीर्षक में (एक ampersand से अलग)। अब मान लें कि b
Buffer
का एक उदाहरण है और निर्माता और उपभोक्ता धागे b
के माध्यम से संवाद करना चाहते हैं। निर्माता put()
पर कॉल करते हैं, जो कि विधि असीमित है, ब्लॉक न करें। उपभोक्ता get()
पर कॉल करते हैं, जो कि विधि सिंक्रोनस है, तब तक ब्लॉक करेगा जब तक कि कोई मिलान करने वाला कॉल() नहीं है। दोनों एक put()
और एक get()
, शरीर रन और put()
को तर्क get()
करने के लिए कॉल के परिणाम के रूप में किया जाता है एक बार b
प्राप्त हुआ है।get()
पर एकाधिक कॉल put()
से पहले लंबित हो सकते हैं, उनमें से एक को फिर से निकालने के लिए प्राप्त किया गया है और put()
पर कई कॉल किए जा सकते हैं, उनके तर्कों को बाद में get()
एस द्वारा खपत किया जाता है।
: लेकिन, इस तरह की बढ़त की प्रकृति है। मुझे यह मिल गया
@ एमी: मुझे लगता है कि ओपी ने दोनों भाषाओं को मिश्रित किया है, शायद कई अन्य लोगों की तरह। तो अगर मैं भ्रामक है तो भी मैं सी # टैग रखूंगा। सिर्फ इसलिए कि यह सवाल इस गलतफहमी को हल कर सकता है। –
@TimSchmelter सहमत, मैंने इसे नियमित सी # के रूप में पढ़ा, इस प्रकार मेरा भ्रम, सी # टैग –