2010-11-03 18 views
5

मैं सोच रहा था कि आप प्रोग्रामिंग भाषा सुविधा और प्लेटफ़ॉर्म सुविधा के बीच की रेखा कहां खींचते हैं।भाषा फीचर बनाम फ्रेमवर्क सुविधा

उदाहरण के लिए, लिंक एक सी # भाषा सुविधा या एक .NET सुविधा है। क्या प्रोग्रामिंग भाषा मंच के लिए विनिर्देश की तरह काम करती है?

उत्तर

4

आकर्षित करने के लिए एक मुश्किल लाइन है यही कारण है, और LINQ इस का एक अच्छा उदाहरण है:

  • Query expressions, implicitly typed variables, और extensions methods C# और VB.NET में भाषा विशेषताएं हैं,

  • विशिष्ट एक्सटेंशन विधियां जो LINQ के लिए आवश्यक पृष्ठभूमि प्रदान करती हैं, वे .NET 3.5 और उच्चतम में प्लेटफ़ॉर्म सुविधाएं हैं।

+0

क्या आप निश्चित हैं? लागू प्रकार और विस्तार विधियां भाषा संरचनाएं हैं, वे संकलित समय पर सामान्य प्रकारों और सामान्य स्थैतिक विधि कॉल में अनुवाद करते हैं। लेकिन लिंक में उपयोग की जाने वाली विशिष्ट एक्सटेंशन विधियां वास्तव में प्लेटफॉर्म विशेषताएं हैं। – Gorpik

+0

@ गोर्पिक, आप बिल्कुल सही हैं। उत्तर अपडेट किया गया। –

+0

एक्सटेंशन विधियों को सी # में लागू करने की भी आवश्यकता है। – Dykam

2

Linq संस्करण 3.5

आप C# specification here पा सकते हैं के बाद से नेट फ्रेमवर्क का हिस्सा है।

3

LINQ एक .NET सुविधा है क्योंकि यह सभी सीएलएस संगत भाषाओं से सुलभ है। yield कथन एक सी # भाषा सुविधा है।

0

LINQ फ्रेमवर्क के एक घटक है:

आदेश Linq उपयोग करने के लिए आपके पास "Linq" नाम स्थान जोड़ने के लिए। आप फ़ाइलस्ट्रीम abotu नहीं कह सकते हैं कि एक लापरवाही विस्तार है।

1

हम्म, दिलचस्प सवाल। .NET वास्तव में एक पुस्तकालय की तरह है, हालांकि यह भाषा में पूरी तरह से एकीकृत है कि भाषा की कई विशेषताओं का उपयोग करने के लिए, आपको इसे शामिल करने की आवश्यकता है। तो मुझे लगता है कि परिभाषित कारक यह है कि आपके पास मौजूद होने के लिए .NET शामिल होना चाहिए या नहीं। लिंक के मामले में, आपको .NET शामिल करना होगा, इसलिए मैं कहूंगा कि यह एक भाषा सुविधा से अधिक एक .NET सुविधा है।

7

मेरा मानना ​​है कि उत्तर, आपके उदाहरण के मामले में, दोनों है।

Linq सक्षम करने वाले एक्सटेंशन विधियां .Net, प्लेटफ़ॉर्म की सुविधा हैं। हालांकि, भाषा संरचनाएं जिन्हें उन विस्तार विधियों पर कॉल में अनुवादित किया जाता है, वे सी # भाषा की एक विशेषता हैं। आप वीबी से एक ही एक्सटेंशन विधियों का उपयोग कर सकते हैं, लेकिन आप एक ही भाषा संरचना का उपयोग नहीं कर सकते हैं।

इसी तरह, आप दोनों भाषाओं से लिंक से एक्सएमएल का उपयोग कर सकते हैं, लेकिन केवल वीबी में एक्सएमएल अक्षर हैं।

+0

सहमत हुए। * गतिशील * कीवर्ड इसका भी एक उदाहरण है। या बड़ा: आईएल एक मंच सुविधा है। –

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