تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
مساعدة في كود برمجي
#8
الشباب ما قصروا كل طرقهم المستخدمة تؤدي المطلوب

أحببت أن إلقي الضوء على 
 الــ  ( Extension Methods )

كما إستخدمها أخي asmarsou 

Me.Controls.OfType

الـ  OfType هي عبارة عن Extension Methods
الـ  OfType هذة الـ Extension تم إضافتها بواسطة الـ NET. أي انها تحديث للـ NET. وليست Extension مخصصة ألتي يظيفها المبرمج في المشروع.
أي انها لم تكن موجودة في الإصدارات القديمة من الـ NET. ، وتم إضافتها لاحقاً على شكل ( Extension )
لذلك إذا قمت بوضع الماوس على كلمة OfType سيظهر لك أنها Extension 

سبب هذة المشاركة ليس حل موضوع المشاركة ولكن أحببت أن اتكلم عن الـ Extension 

الجدير بالذكر انه يمكنك عمل الـ Extension الخاص بك، في ملف Module منفصل ، تضع فيه كل الـ Extension الخاصة بك.

يمكنك إلصاق أي Function أو Sub بأي أسم انت تراه ، وإلصاقة في أي كلاس موجود في كامل الـ NET.


مثلاً الـ CheckBox عبارة عن كلاس 
وكما تعلم هذا الكلاس لا يحتوي على Function باسم ()ChangeMyColorToRed
مثلاً : ()CheckBox1.ChangeMyColorToRed

بإمكانك إنشاء هذة الـ Function وإلصاقها بالكلاس CheckBox

مفيدة جداً جداً ، مثال بسيط على إستخدامي لهذة الـ Extension 
الكلاس Image
قمت بإنشاء Function باسم ()ToBytesArray وألصقتها بالكلاس Image
الآن أي صورة Image لدي أستطيع إستخدام الوظيفة  ()ToBytesArray عليها لتحويلها إلى مصفوفة بايتات
مثلاً : MyImg صورة
بهذة الطريقة : 
()Dim BlaBla As Byte() = MyImg.ToBytesArray

تستطيع إلصاق الكثير من الــ Extension  في الكلاس Image على سبيل المثال :

()MyImg.ToBytesArray
()MyImg.ToStream
()MyImg.Print
()MyImg.ToGrayscale
()MyImg.ToIcon


()MyImg.ToBytesArray
Function تعود بقيمة من نوع مصفوفة بايتات لتسهيل عملية الحفظ مثلاً في قواعد البيانات


()MyImg.ToStream
Function تعود بقيمة من نوع Stream


()MyImg.Print
Sub يقوم بإرسال أمر الطباعة إلى الطابعة لطباعة الصورة ( مثلاً )


()MyImg.ToGrayscale
Function تعود بقيمة من نوع Image ولكن بعد تحويلها من صورة ملونة إلى صورة بدون ألوان ( تدرجات الرمادي )

()MyImg.ToIcon
Function تعود بقيمة من نوع  Icon  بعد تحويلها من صورة إلى أيقونة



ستسهل عليك أمور كثيرة ، حتى أنها أجمل بكثير ، ومرتبة .



هذا مثال بسيط ، تخيل ماذا يمكن أن تفعل مع هذة الـ Extension 

طريقة إنشاء الـ Extension بسيطة جداً جداً.
الرد }}}
تم الشكر بواسطة: Taha Okla , asmarsou , سعود , ahmed_king2023


الردود في هذا الموضوع
مساعدة في كود برمجي - بواسطة maherhaddaf - 31-05-23, 10:00 AM
RE: مساعدة في كود برمجي - بواسطة asmarsou - 31-05-23, 12:34 PM
RE: مساعدة في كود برمجي - بواسطة fouadhdfouad - 31-05-23, 06:35 PM
RE: مساعدة في كود برمجي - بواسطة سعود - 01-06-23, 03:38 AM
RE: مساعدة في كود برمجي - بواسطة سعود - 01-06-23, 05:16 AM
RE: مساعدة في كود برمجي - بواسطة fouadhdfouad - 01-06-23, 09:21 AM
RE: مساعدة في كود برمجي - بواسطة Taha Okla - 01-06-23, 10:03 AM
RE: مساعدة في كود برمجي - بواسطة عبدالله الدوسري - 01-06-23, 11:24 AM
RE: مساعدة في كود برمجي - بواسطة maherhaddaf - 04-06-23, 12:55 PM
RE: مساعدة في كود برمجي - بواسطة maherhaddaf - 05-06-23, 12:35 PM
RE: مساعدة في كود برمجي - بواسطة G20 - 05-06-23, 12:57 PM


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم