2010-05-04 22 views
22

क्या निम्न समस्या के लिए कोई समाधान है?एक विशेषता तर्क निरंतर अभिव्यक्ति होना चाहिए

एक विशेषता तर्क एक निरंतर अभिव्यक्ति

मैं एक विशेषता के पैरामीटर में दशमलव का उपयोग करना चाहते होना चाहिए।

+0

क्या विशेषता? – AMissico

उत्तर

31

दुर्भाग्यवश आप गुण मानों में दशमलव का उपयोग नहीं कर सकते हैं, क्योंकि सीएलआर को वास्तव में System.Decimal प्रकार के बारे में पता नहीं है - यह इंटी, डबल इत्यादि जैसी आदिम प्रकार नहीं है। सी # कंपाइलर मूल रूप से इसे प्रकार के कॉन्स फ़ील्ड के लिए बनाता है दशमलव, लेकिन यह विशेषताओं के साथ एक ही प्रभाव प्राप्त नहीं कर सकता है।

सी # 3 युक्ति से, खंड 17.1.3: एक विशेषता वर्ग के लिए स्थितीय और नाम मापदंडों के

प्रकार के होते हैं विशेषता पैरामीटर के लिए सीमित प्रकार, जो कर रहे हैं:

  • निम्नलिखित प्रकारों में से एक: बूल, बाइट, चार, डबल, फ्लोट, int, long, sbyte, short, स्ट्रिंग, यूंट, उलंग, यूहॉर्ट।
  • टाइप ऑब्जेक्ट।
  • प्रकार सिस्टम टाइप करें। टाइप करें।
  • एक enum प्रकार है, बशर्ते वह सार्वजनिक पहुंच और प्रकार जो में यह नीडिंत है (यदि हो तो) भी सार्वजनिक (§17.2) पहुँच है।
  • उपरोक्त प्रकारों के एकल-आयामी सरणी।

फिर बाद में खंड 17.2 में:

कोई व्यंजक ई एक विशेषता-तर्क-अभिव्यक्ति है यदि निम्नलिखित कथनों में से सब कर रहे हैं> सच:

  • ई के प्रकार एक विशेषता पैरामीटर प्रकार (§17.1.3) है।
    • एक निरंतर मूल्य:
    • संकलन समय पर, ई का मूल्य निम्न में से एक को सुलझाया जा सकता है।
    • एक सिस्टम। टाइप ऑब्जेक्ट।
    • विशेषता-तर्क-अभिव्यक्तियों का एक आयामी सरणी।
संबंधित मुद्दे

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