एक मानक रूपरेखा (शायद उद्यम लाइब्रेरी का हिस्सा है ... या खुद नेट) है कि विधि का श्रेय में आप सामान्य पैरामीटर सत्यापन करने की अनुमति देता है?क्या .NET पैरामीटर सत्यापन के लिए मानक फ्रेमवर्क है जो गुणों का उपयोग करता है?
उत्तर
Microsoft Code Contracts, जो 4.0 सीटीपी के बाद से .NET Framework का हिस्सा हैं और स्टैंड-अलोन पैकेज के रूप में पहले .NET Framework संस्करणों के लिए उपलब्ध हैं, कोडिंग मान्यताओं को निर्दिष्ट करने की अनुमति देते हैं। इसमें पूर्व-स्थितियों को निर्दिष्ट करना शामिल है जो पैरामीटर को सत्यापित कर सकते हैं।
पैरामीटर की जाँच के लिए एक उदाहरण का उपयोग करें (Code Contracts documentation से नकल) किया जाएगा:
public Rational(int numerator, int denominator)
{
Contract.Requires(denominator ! = 0);
this.numerator = numerator;
this.denominator = denominator;
}
कोड संविदा उपयोग करने का लाभ यह है कि यह एक पुस्तकालय जो भविष्य .नेट फ्रेमवर्क विज्ञप्ति का हिस्सा होगा है, इसलिए जितनी जल्दी है या बाद में आपके आवेदन में एक निर्भरता कम होगी।
संपादित करें: बस ध्यान दिया गया है कि आप विशेष रूप से एक पुस्तकालय के लिए पूछ रहे हैं जो तर्क जांच के लिए गुणों का उपयोग करता है ... कोड संविदा नहीं करता है। कारण है कि कोड संविदा विशेषताओं का उपयोग नहीं करता है उनके FAQ में सूचीबद्ध है:
कस्टम विशेषताओं को उपयोग करने का लाभ यह है कि वे कोड बिल्कुल प्रभावित नहीं करते है। हालांकि, विधि का उपयोग कर के लाभ कॉल दूर विशेषताओं में से मालूम होता है प्राकृतिक पहली पसंद पल्ला झुकना:
रनटाइम समर्थन: एक द्विआधारी rewriter के आधार पर बिना, विशेषताओं के साथ व्यक्त ठेके रनटाइम पर लागू नहीं किया जा सकता है। इसका मतलब यह है कि अगर कोई पूर्व शर्त (या अन्य ठेके) आप क्रम पर लागू चाहते हैं, या तो आप कोड में ठेके नकल करने की जरूरत है या फिर अपने निर्माण की प्रक्रिया में एक द्विआधारी rewriter शामिल हैं। अनुबंध। आवश्यकताएं हमेशा घोषणात्मक अनुबंध के रूप में और रनटाइम-चेक सत्यापन के रूप में कार्य करती हैं। पार्सिंग के लिए
आवश्यकता: के बाद से मानों कस्टम विशेषताओं के साथ इस्तेमाल किया जा सकता सीमित हैं, की स्थिति खत्म हो तारों के रूप में एन्कोड किया जा रहा। यह है कि सभी स्रोत भाषाओं के लिए उपयुक्त है एक नई भाषा को परिभाषित करने की आवश्यकता है,, तार पार्स किया जा सकता की आवश्यकता कार्यक्षमता संकलक पहले से ही पास के सभी डुप्लिकेट।
आईडीई समर्थन की कमी: तारों के रूप में व्यक्त की गई, इंटेलिसेंस, टाइपिंग चेकिंग या रीफैक्टरिंग के लिए कोई समर्थन नहीं है, जिनमें से सभी कोडिंग अनुबंध कोड के लिए उपलब्ध हैं।
Dynamic Data ASP.NET (और ASP.NET MVC) के लिए आप विशेषताओं का उपयोग मॉडल गुणों के लिए मान्यता काम करने दिया।
माइक्रोसॉफ्ट उद्यम लाइब्रेरी जो मान्यता का उपयोग कर विशेषताओं की अनुमति देता है Microsoft.Practices.EnterpriseLibrary.Validation पुस्तकालय/नाम स्थान है।
धन्यवाद !!!! <- एकाधिक! 10 चरित्र आवश्यकता के कारण :) –
तुम भी postsharp का उपयोग करें और सत्यापन के लिए अपने स्वयं के गुण को लागू कर सकते हैं।
का उपयोग कर एक उदाहरण है माइक्रोसॉफ्ट कोड संविदा थोड़ी देर के लिए बाहर हैं, वे अभी भी एमएस रिसर्च में होस्ट कर रहे हैं और आप के लिए विन्यास (app.config/डेटाबेस आदि) का उपयोग नहीं कर सकते नियम चालू/बंद या यहां तक कि नियमों को भी बदलें। मेरी लाइब्रेरी Bouncer घोषणात्मक नियम परिभाषा प्रदान करती है: स्रोत कोड या ऐप में विशेषताएँ।इकाई वर्ग/संपत्ति स्तर पर नियमों के लिए कॉन्फ़िगर प्रविष्टियां। लाइब्रेरी एलजीपीएल के तहत ओपनसोर्स है (आप इसे वाणिज्यिक उत्पादों में आसानी से उपयोग कर सकते हैं)। यदि आप app.config के माध्यम से नियमों को कॉन्फ़िगर करते हैं तो आप रीकंपाइल की आवश्यकता के बिना नियम सेटिंग्स को समायोजित कर सकते हैं।
- 1. क्या php के लिए कोई मानक फ्रेमवर्क है?
- 2. ".NET Framework डिफ़ॉल्ट रूप से यूटीएफ -16 एन्कोडिंग मानक का उपयोग करता है" मतलब क्या है?
- 3. क्या एसक्यूएल मानक बाधा सत्यापन के आदेश को निर्दिष्ट करता है और फायरिंग ट्रिगर करता है?
- 4. क्या .NET CLR गुणों की स्वचालित रूपरेखा करता है?
- 5. .NET में KeyedByTypeCollection का उपयोग करता है?
- 6. क्या सिस्टम.एक्सएमएल एमएसएक्सएमएल का उपयोग करता है?
- 7. क्या .NET के लिए कोई डेटाबेस अज्ञेय नोस्क्ल फ्रेमवर्क है?
- 8. रिमोट विधि आमंत्रण के लिए .NET मानक क्या है?
- 9. .NET उदाहरणों के लिए प्रतिक्रियाशील फ्रेमवर्क जो इसकी उपयोगिता साबित करता है
- 10. क्या एक्लिप्स का $ FALL-$ $ मानक मानक है?
- 11. PHP ज़ेंड फ्रेमवर्क कोडिंग मानक, जो अधिक पठनीय दृष्टिकोण है?
- 12. क्या कोई यूआरएल बिल्डर है जो अनुरोध पैरामीटर कॉन्सटेनेशन का भी समर्थन करता है?
- 13. क्या .NET में अंतर्निहित लॉगिंग फ्रेमवर्क है?
- 14. क्या कोई भी .NET की System.IO.IsolatedStorage का उपयोग करता है?
- 15. @with annotation क्या करता है? (प्ले फ्रेमवर्क)
- 16. स्ट्रक्चर मैप का नवीनतम संस्करण क्या है जो .NET 3.5 का समर्थन करता है?
- 17. क्या कोई मानक है जो परिभाषित करता है कि वैध एसएसआईडी और पासवर्ड क्या है?
- 18. क्या पीआरजी पैटर्न का नाम है जो विफल सत्यापन पर रीडायरेक्ट नहीं करता है?
- 19. क्या कोई समर्थित कोडप्लेक्स लाइसेंस है जो वाणिज्यिक के लिए स्रोत का उपयोग प्रतिबंधित करता है?
- 20. क्या कोई सिम्फनी बंडल है जो प्रमाणीकरण के लिए फेसबुक/ट्विटर/google + का उपयोग करता है?
- 21. जावा विधि के पैरामीटर की मानक संख्या क्या है?
- 22. पैरामीटर ऑब्जेक्ट के गुणों के लिए मानचित्र यूआरआई पैरामीटर?
- 23. गुणों का विकल्प क्या है?
- 24. क्या कोई सीएलआर प्रोफाइलर है जो .NET 3.5 SP1 और WPF के साथ काम करता है?
- 25. क्या .NET अभी भी ADO.net का उपयोग करता है?
- 26. मानक एमएल यूनिकोड का समर्थन करता है?
- 27. क्या .NET में "रेंज" का प्रतिनिधित्व करने के लिए एक मानक वर्ग है?
- 28. वेब अनुप्रयोग जो कि विज्ञान-सीखने का उपयोग करता है
- 29. बूलियन गुणों का नामकरण करने के लिए एफडीजी क्या है?
- 30. क्या हैक्स के साथ एएस 3 लाइब्रेरी लिखना संभव है जो टाइप पैरामीटर का उपयोग करता है?
अच्छे अंक फिर से: विशेषताएं –