में गुणों के लिए नेस्टेड क्लास एक्सेस विधियां मैं एक नेस्टेड क्लास में प्रॉपर्टी सेट करने और गुणों के लिए सर्वोत्तम दृष्टिकोण जानने का प्रयास कर रहा हूं।.NET
मेरे पास एक कक्षा है, कार जिसमें एक नेस्टेड क्लास ControlPanel है और केवल नियंत्रण कक्ष के गुणों को कार और नियंत्रण कक्ष वर्ग तक पहुंचाना चाहता है।
(यानी: असेंबली या नामस्थान के भीतर नहीं और आवेदन के भीतर कक्षा पुस्तकालय का उपयोग नहीं किया जाएगा) ... मैंने क्लास एक्सेस गुणों को दोस्त, संरक्षित मित्र, निजी, सार्वजनिक, लेकिन किसी भी व्यक्ति में बदल दिया है संयोजन मेरे अपेक्षित परिणामों से मेल नहीं खाता है।
मैं नीचे दिखाए गए वर्ग के ड्राइव() उप में गुणों को बदलना चाहता हूं।
किसी भी विचार?
Public Class Car
Dim cp As New ControlPanel
Public Class ControlPanel
Private _Speedometer As Integer = 0
Private _Odometer As Integer = 0
Public Property Speedometer() As Integer
Get
Return _Speedometer
End Get
Protected Set(ByVal value As Integer)
_Speedometer = value
End Set
End Property
Public Property Odometer() As Integer
Get
Return _Odometer
End Get
Protected Set(ByVal value As Integer)
_Odometer = value
End Set
End Property
End Class
Public Sub Drive()
cp.Odometer = 76323
co.Speedometer = 86
End Sub
End Class
क्या आप अपने प्रश्न पर विस्तार कर सकते हैं? क्या आप * संपूर्ण कंट्रोलपैनल क्लास * को पहुंचने योग्य नहीं चाहते हैं, या क्या आप चाहते हैं * केवल उन दो गुणों * कार के अलावा किसी भी वर्ग से, पहुंच योग्य नहीं हो? साथ ही, आपका कोड यह सुझाव देता है कि आप गेटर और सेटर के लिए अलग-अलग पहुंच चाहते हैं, लेकिन आप इस सवाल में स्पष्ट रूप से यह नहीं बताते हैं। क्या आप गेटर और सेटर के लिए भी अलग-अलग पहुंच चाहते हैं? – Cheeso
भ्रम के लिए क्षमा चाहता है। मैं क्या देखना चाहता हूं कि नियंत्रण कक्ष को कार वर्ग के बाहर से पढ़ा जाना है, लेकिन कार और नियंत्रण कक्ष कक्षाओं में पढ़ें/लिखें। –
उस टिप्पणी के आधार पर, जो मुझे लगता है कि आप जो खोज रहे हैं वह वह है जो मैंने निजी नेस्टेड क्लास के साथ सुझाया था जिसमें सार्वजनिक (या मित्र) इंटरफ़ेस है। इससे यह सुनिश्चित होगा कि कार क्लास कंट्रोलपैनल पर सभी सदस्यों तक पहुंच सकती है, लेकिन बाहर केवल आईकंट्रोलपैनल के संदर्भ में ही होगा जो केवल प्राप्त होने का खुलासा करेगा। यदि कार के अलावा कुछ अन्य कंट्रोलपैनल क्लास को कम कर सकता है, तो आपको कुछ प्रकार की फ़ैक्टरी विधि (बनाएं) की आवश्यकता हो सकती है जो आईसींट्रोलपैनल लौटाती है। –