में एक क्लास स्टेटिक चिह्नित करना हाल ही में हाल ही में question और answer में बताया गया है, तो आप एक स्थिर वर्ग से प्राप्त नहीं कर सकते हैं। VB.NET के अंदर स्थिर कक्षाओं के साथ चलने वाले नियमों को कैसे लागू किया जाता है? चूंकि ढांचा सी # और वीबी के बीच संगत है, इसलिए यह समझ में आता है कि क्लास स्थैतिक को चिह्नित करने का एक तरीका होगा, लेकिन ऐसा कोई प्रतीत नहीं होता है।वीबीएनईटी
उत्तर
मॉड्यूल == स्थिर वर्ग
तुम सिर्फ एक वर्ग है कि आप के वारिस नहीं कर सकते हैं, एक NotInheritable वर्ग का उपयोग करें। लेकिन यह स्थिर/साझा नहीं होगा। आप सभी विधियों, गुणों और सदस्यों को साझा के रूप में चिह्नित कर सकते हैं, लेकिन यह कड़ाई से सी # में स्थिर वर्ग के समान नहीं है क्योंकि यह संकलक द्वारा लागू नहीं किया गया है।
यदि आप वास्तव में एक सी # स्थिर वर्ग के बराबर vb.net चाहते हैं, तो मॉड्यूल का उपयोग करें। इसे विरासत में नहीं लिया जा सकता है और सभी सदस्य, गुण, और विधियां स्थिर/साझा की जाती हैं।
यदि आप सिर्फ एक कक्षा बनाना चाहते हैं जिसे आप प्राप्त नहीं कर सकते हैं, तो सी # में आप सीलबंद का उपयोग कर सकते हैं, और वीबी.Net में NotInheritable का उपयोग कर सकते हैं।
स्थिर के वीबी.Net समकक्ष साझा किया जाता है।
आप एक वर्ग को साझा के रूप में चिह्नित नहीं कर सकते हैं। –
आप इसे साझा किए गए चर और कार्यक्षमताओं को चिह्नित करते हैं, जैसे कि आपको सी # स्थिर वर्ग में करना होगा। NotInheritable के रूप में चिह्नित करना इसे सील कर देता है। – Shimmy
सीएलआर बिंदु से, सी # स्थिर वर्ग सिर्फ "मुहरबंद" और "अमूर्त" वर्ग है। आप एक उदाहरण नहीं बना सकते हैं, क्योंकि यह सार है, और इसे सील कर दिए जाने से आप इसका वारिस नहीं कर सकते हैं। बाकी बस कुछ कंपाइलर जादू है।
आप vb.net में स्थिर वर्ग बना सकते हैं। समाधान,
Friend NotInheritable Class DB
Public Shared AGE As Integer = 20
End Class
उम्र चर सार्वजनिक स्थिर है आप सिर्फ इस
Dim myage As Integer = DB.AGE
मित्र = सार्वजनिक, NotInheritable = स्थिर
मित्र! = सार्वजनिक, मित्र = आंतरिक – Altair
लगभग हो गया है जैसे अन्य कोड में इसका इस्तेमाल कर सकते हैं। आपको भी तत्काल रोकना होगा।
NotInheritable Class MyStaticClass
''' <summary>
''' Prevent instantiation.
''' </summary>
Private Sub New()
End Sub
Public Shared Function MyMethod() As String
End Sub
End Class
- साझा स्थिर वर्ग की विधि की तरह है।
- NotInheritable मुहरबंद की तरह है।
- निजी नया स्थिर वर्ग की तरह है तत्काल नहीं किया जा सकता है।
+1 वास्तविक कोड नमूने के लिए +1 –
- 1. वीबीएनईटी
- 2. वीबीएनईटी
- 3. वीबीएनईटी
- 4. वीबीएनईटी
- 5. वीबीएनईटी
- 6. वीबीएनईटी
- 7. वीबीएनईटी
- 8. वीबीएनईटी
- 9. वीबीएनईटी
- 10. वीबीएनईटी
- 11. वीबीएनईटी
- 12. वीबीएनईटी
- 13. वीबीएनईटी
- 14. वीबीएनईटी
- 15. वीबीएनईटी
- 16. वीबीएनईटी
- 17. वीबीएनईटी
- 18. वीबीएनईटी
- 19. वीबीएनईटी
- 20. वीबीएनईटी
- 21. वीबीएनईटी
- 22. वीबीएनईटी
- 23. वीबीएनईटी
- 24. वीबीएनईटी
- 25. वीबीएनईटी
- 26. वीबीएनईटी
- 27. वीबीएनईटी
- 28. वीबीएनईटी
- 29. वीबीएनईटी
- 30. वीबीएनईटी
हाँ एक मॉड्यूल एक स्थिर वर्ग है। बस विस्तार विधियों पर पढ़ें और एमएस आपको एक ही बात बताएगा। – chrissie1
दिलचस्प। मैंने वीबी में एक्सटेंशन के साथ नहीं खेला है। – MagicKat
मैं अपनी पिछली टिप्पणी वापस लेता हूं। मैं परावर्तक में एक मॉड्यूल देख रहा था और आईएल इसे सीलबंद के रूप में दिखाता है। – MagicKat