में आलसी प्रारंभिक आलसी प्रारंभिकता क्या है। खोज कोड के बाद मुझे यह कोड मिला है।.NET 4
class MessageClass
{
public string Message { get; set; }
public MessageClass(string message)
{
this.Message = message;
Console.WriteLine(" *** MessageClass constructed [{0}]", message);
}
}
Lazy<MessageClass> someInstance = new Lazy<MessageClass>(
() => new MessageClass("The message")
);
मुझे इस तरह से वस्तु क्यों बनाना चाहिए .... वास्तव में हमें इस तरह से वस्तु बनाने की आवश्यकता है ...... उत्तर की तलाश है।
जब MyProperty संपत्ति बुलाया जाएगा ... निम्न पंक्ति पर अमल करता है, तो निजी लेज़ी _myProperty = नए लेज़ी (() => नया MyClass()); संपत्ति को कैसे बुलाया जाएगा ..... मैं बस समझ में नहीं आता क्योंकि हमें हमेशा संपत्ति को स्पष्ट रूप से कॉल करने की आवश्यकता है। –
Mou
@ user728750 मुझे पूरा यकीन नहीं है कि मैं समझ रहा हूं कि आप क्या पूछ रहे हैं। '_myProperty' सिर्फ एक निजी उदाहरण चर है। आप इसे कक्षा के निर्माता के रूप में भी शुरू कर सकते हैं (जो वास्तव में बेहतर अभ्यास हो सकता है)। संपत्ति का उपयोग कुछ हद तक वैकल्पिक है, लेकिन यह 'वाल्यू' कॉल को हटा देता है जिसे अन्यथा आवश्यकतानुसार किया जाएगा। – Andrew
मजेदार है कि यह वही चीज़ स्कैला में केवल 'आलसी वैल MyProperty = new MyClass() 'के साथ पूरा की जा सकती है। बहुत बुरा वे नेट के लिए स्कैला कंपाइलर जारी करने के लिए कभी नहीं मिला। – sparebytes