2008-12-13 13 views
5

मान लें कि मैं सी # में एक पुस्तकालय लिख रहा हूं और मुझे नहीं पता कि इसका उपभोग करने वाला कौन है।क्या ऐसी भाषाएं हैं जो .NET के साथ संगत हैं जो हस्ताक्षरित प्रकारों का समर्थन नहीं करती हैं?

लाइब्रेरी के सार्वजनिक इंटरफ़ेस में कुछ हस्ताक्षरित प्रकार हैं - uint, ushort। जाहिर है कि वे प्रकार सीएलएस-अनुरूप नहीं हैं और सैद्धांतिक रूप से बोलते हुए, ऐसी भाषाएं हो सकती हैं जो उन्हें उपभोग करने में सक्षम नहीं होंगी।

क्या ऐसी वास्तविकता भाषाएं हैं?

+0

इस प्रश्न को देखें। एक डुप्लिकेट हो सकता है: http://stackoverflow.com/questions/6325/why-are-unsigned-ints-not-cls-compliant –

उत्तर

5

मैं वीबीएनईटी के मूल संस्करण में विश्वास करता हूं, हस्ताक्षरित प्रकार उपयोग करने योग्य थे लेकिन भाषा में निर्मित उनके लिए कोई समर्थन नहीं था। यह निश्चित रूप से बाद के संस्करणों में संबोधित किया गया है।

इसके अतिरिक्त, मुझे संदेह है कि अब-निष्क्रिय J # को हस्ताक्षरित प्रकारों के लिए कोई समर्थन नहीं है (यह देखते हुए कि जावा के पास कोई नहीं है)।

5

.NET संगतता और सीएलएस अनुपालन दो अलग-अलग चीजें हैं। कुछ भी जो .NET ढांचे के साथ किसी भी तरह से काम कर सकता है उसे इसके साथ संगत माना जा सकता है। सीएलएस अनुपालन अधिक सख्त है। यह भाषा कार्यान्वयनकर्ताओं और पुस्तकालय डिजाइनरों के लिए पारस्परिक रूप से संगत भाषाओं और पुस्तकालयों का पारिस्थितिकी तंत्र बनाने के लिए नियमों का एक सेट प्रदान करता है।

सीएलएस जैसी चीज का पूरा बिंदु आपको एक भाषा के हर उदाहरण का शोध करने से बचने और उन सभी का समर्थन करने का तरीका जानने के लिए अनुमति देता है। यदि आप ऐसा करना चाहते हैं, तो आप कर सकते हैं, लेकिन विकल्प सीएलएस का अनुपालन करना है और इसलिए पता है कि आप किसी और चीज (पिछले वर्तमान या भविष्य से) के साथ संगत होंगे जो सीएलएस का भी पालन करता है।

1

यदि आज कोई नहीं है, तो एक टॉमोरो हो सकता है।

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

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