यहाँ मैं किस बारे में बात कर रहा हूँ का एक उदाहरण है ...एक इंस्टेंस वैरिएबल के माध्यम से आप किसी साझा/स्थैतिक सदस्य तक क्यों नहीं पहुंच सकते?
Public Class Sample1
Public Shared Function MyValue() As Integer
Return 0
End Function
Public Sub Code()
Dim ThisIsBad = Me.MyValue
Dim ThisIsGood = Sample1.MyValue
End Sub
End Class
Me.MyValue
VB.NET में एक चेतावनी देता है और (समकक्ष कोड देता है) सी # में एक त्रुटि। क्या इसके लिए कोई विशेष कारण है? मुझे 'Me.MyValue' का उपयोग करके साझा फ़ंक्शन तक पहुंचने के लिए यह अधिक सहज/प्राकृतिक लगता है - लेकिन मैं इसे अपनी चेतावनियों को 0
क्या किसी और ने अभी फैसला किया है 'नहीं, यह करने के लिए और अधिक समझदारी है दूसरी तरफ 'या क्या कोई तकनीकी कारण है जिसे मैं समझ नहीं पा रहा हूं?
संपादित करें:
सभी को धन्यवाद। मैं ओओपी में 'सब क्लास' की तरह गलत सोच रहा था। यहां तक कि यदि बेस क्लास में कुछ घोषित किया गया है, तो आप इसे अपने उदाहरण के माध्यम से एक्सेस कर सकते हैं। लेकिन वह रिश्ता साझा या स्थैतिक के साथ समान नहीं है। परिभाषा के द्वारा
यह। MyValue फ़ंक्शन किसी एक उदाहरण से संबंधित नहीं है; इस प्रकार इसे एक ही उदाहरण की सीमाओं के बाहर पहुंचाया जाना चाहिए। मेरे # सी समकक्ष का उपयोग करने का प्रयास कर रहा है। MyValue के परिणामस्वरूप एक कंपाइलर त्रुटि होगी, इसलिए यदि वीबी में इसकी अनुमति है तो यह खराब है। – KeithS
@ किथ्स - क्या आपका इरादा है कि उत्तर देने के लिए, या मेरे उत्तर पर एक टिप्पणी? –
एक टिप्पणी। मैं वही कहने जा रहा था जो आपने किया था, इसलिए मैंने अभी आपको ऊपर उठाया और कहा कि यह मेरा तरीका है। :) – KeithS