بسم الله الرحمن الرحيم
إن إطار العمل Framework ملئ بآلاف الفئات المفيدة
ولكن بعضها بحاجة الى اعادة التغليف Encapsulation مرة اخرى
لكى نتمكن من استخدامها فى البرامج الجدية
وفى هذا المثال سوف أقدم فئة صغيرة تغلف الخصائص المتاحة للهارديسك (طبعا الخصائص المتاحة من ميكروسوفت)
بحيث يمكن استخدامها بسهولة بعد ذلك .
مثال على استخدام الفئة
Dim harddisk As New Harddisk(eDiskNumber.PrimaryMaster)
Debug.WriteLine(harddisk.SerialNumber)
ملاحظة
لمعرفة المزيد من خواص wmi_classes يمكن الرجوع الى المرجع الرئيسى من ميكروسوفت
إن النقطة المهمة فى هذه الفئة أو فى نطاق الأسماء System.Management بصفة عامة
هى معرف مفتاح الفئة Key الذى يمكن من خلاله تقليل استخدام حلقات for each
التى تستهلك كثيرا من وقت البرنامج
ولتوضيح كلامى أكثر
إن أول انشاء لهذه الفئة كان شيئا مثل
Dim DiskClass As New System.Management.ManagementClass("Win32_DiskDrive")
Dim Disks As System.Management.ManagementObjectCollection = DiskClass.GetInstances()
Dim Disk As System.Management.ManagementObject
For Each Disk In Disks
Debug.WriteLine(Disk("DeviceID"))
Next
ولكن بمجرد معرفة مفتاح الفئة Key وهو فى هذه الحالة
Win32_DiskDrive.DeviceID=\\.\PHYSICALDRIVE0
أمكن تقليص الكود والخروج من دائرة for each
ونرجو الله أن يعلمنا ما ينفعنا ، وينفعنا بما علِمنا