Property Let
Property Set
से अधिक बहुमुखी है। उत्तरार्द्ध केवल संदर्भ संदर्भों तक ही सीमित है। यदि आप एक कक्षा में इस संपत्ति है, तो
Private m_oPicture As StdPicture
Property Get Picture() As StdPicture
Set Picture = m_oPicture
End Property
Property Set Picture(oValue As StdPicture)
Set m_oPicture = oValue
End Property
Property Let Picture(oValue As StdPicture)
Set m_oPicture = oValue
End Property
आप
Set oObj.Picture = Me.Picture
साथ Property Set Picture
कॉल कर सकते हैं आप दोनों
Let oObj.Picture = Me.Picture
oObj.Picture = Me.Picture
को लागू करने Property Set
साथ Property Let Picture
कॉल कर सकते हैं क्या अन्य डेवलपर्स संपत्तियों के लिए उम्मीद है कि ऑब्जेक्ट संदर्भ हैं लेकिन कभी-कभी माइक्रोसॉफ्ट संदर्भ गुणों के लिए केवल Property Let
प्रदान करता है, जिससे यूयू Set
कथन के बिना सील सिंटैक्स oObj.Object = MyObject
। इस मामले में Set
कथन का उपयोग संकलन-समय या रन-टाइम त्रुटि की ओर जाता है क्योंकि oObj
कक्षा पर लागू नहीं किया गया है।
मैं मानक प्रकारों - फोंट, चित्र इत्यादि के गुणों के लिए Property Set
और Property Let
दोनों को लागू करता हूं - लेकिन विभिन्न अर्थशास्त्र के साथ। आमतौर पर Property Let
पर मैं "गहरी प्रति" निष्पादित करता हूं, यानी मूल ऑब्जेक्ट का संदर्भ रखने के बजाय StdFont
क्लोनिंग करता हूं।
यह WithEvents से असंबंधित है, यह गुणों के रूप में ऑब्जेक्ट संदर्भों को वापस करने के लिए है। कई बार ऐसा करना होता है जब आप ऐसा करना चाहते हैं, अक्सर जब आपके पास किसी प्रकार का ऑब्जेक्ट पदानुक्रम होता है। – Bob77
गलत। संपत्ति प्रॉपर्टी को गुणों के रूप में वापस करने के लिए 'प्रॉपर्टी गेट' का उपयोग किया जाता है, न कि 'संपत्ति सेट'। – mwolfe02
http://msdn.microsoft.com/en-us/library/aa266202(VS.60).aspx: 'फ़ंक्शन' और 'प्रॉपर्टी गेट' प्रक्रिया की तरह, एक 'प्रॉपर्टी सेट' प्रक्रिया एक अलग प्रक्रिया है जो कर सकती है तर्क लें, बयानों की एक श्रृंखला करें, और इसके तर्कों के मूल्य को बदलें। ** हालांकि, 'फंक्शन' और 'प्रॉपर्टी गेट' प्रक्रिया के विपरीत, दोनों एक मूल्य लौटाते हैं, आप ऑब्जेक्ट रेफरेंस असाइनमेंट ('सेट' कथन) के बाईं ओर केवल 'प्रॉपर्टी सेट' प्रक्रिया का उपयोग कर सकते हैं।** – mwolfe02