بسم الله الرحمن الرحيم

لعل أحدكم بعد أن يكبر مشروعه يبدأ يشعر أن برنامجه يعاني ببطء في الإقلاع وربما يعود ذلك لكثرة التهيئات الأولية للمجموعات والمصفوفات واللوائح

وقد تكون المجموعة مكونة من عدد كبير من فئة ما ولتكن MyClass

ولربما هذه الفئة تحتوي في مشيدها Constructor بعض الاستدعاءات والعمليات اللتي تستغرق زمن

فما العمل إذا :

في هذه الحالة ربما تنفعنا الفئة Lazy التي من أهم أهدافها حل هذه المشكلة

الفئة ليزي هي من النوع العام أي جينيرك Generic أي يجب إلحاقها بفئة أخرى

مثال :

Lazy<MyClass>

و وظيفتها الرئيسية عدم تشكيل كائن من الفئة المستهدفة إلا حين الطلب

حيث تحتوي على خاصية Value تعيد كائن من النوع المرتبط بها و لا يتم إنشاؤه إلا عندما يتم قراءة الخاصية Value لأول مرة

و بالتالي لو جعلنا عناصر المصفوفات الكبيرة من النوع ليزي حينها نضمن أنه لن يتم تشييد جميع الكائنات وبالتالي ستهيأ المصفوفة بشكل سريع

وفقط بعد الإقلاع وعمل البرنامج كل عنصر من اللائحة أو المصفوفة أو المجموعة يتم قراءته حينها فقط سيتم تشييد الكائن وطبعا سيكون لأول مرة فقط

لأنه عند القراءات التالية للخاصية Value سيكون الكائن مشيد

لمزيد من المعلومات حول الكلاس ليزي Lazy

http://msdn.microsoft.com/en-us/library/dd642331%28v=vs.110%29.aspx