تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
الدرس السادس والثلاثون - Extension Methods
#1
كاتب الموضوع : أحمد جمال

بسم الله الرحمن الرحيم .
السلام عليكم ورحمة الله وبركاته .

ال Extension Methods واحدة من خواص .net 2008 الجديدة ، تتيح لك هذه الخاصية التعديل على فئات موجودة مسبقاً واضافة دالة أو دوال جديدة .

لنفترض اننا نريد اضافة دالة للفئة string لتقوم بالتأكد من صحة البريد الالكتروني ، سنقوم بعمل دالة تستخدم Regex بالشكل التالي مثلاً :

C#:


كود :
public static class Extensions
{
Public static bool IsValidEmailAddress(this string s)
{
Regex regex = new Regex(@"^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$");
return regex.IsMatch(s);
}
}


vb.net:


كود :
Public NotInheritable Class StringExtenstion
Private Sub New()
End Sub
Public Shared Function IsValidEmailAddress(ByVal s As String) As Boolean
Dim regex As New Regex("\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*")
Return regex.IsMatch(s)
End Function
End Class
والآن ، يمكننا بكل بساطة تعريف متغير string بالشكل التالي :

C#:


كود :
string mailExample = "email@mail. com";
MessageBox.Show(mailExample.IsValidEmailAddress.toString());

vb.net:


كود :
Dim mailExample As String = "email@mail. com"
MessageBox.Show(mailExample.IsValidEmailAddress.toString())
}}}
تم الشكر بواسطة:
#2
طبعاً كما لاحظت ، لا بد من ان يكون البارميتر على شكل this classname s مثلاً ، لا بد ان يكون الكلاس static .


لم اجرب هذه المواضيع من خلال vb.net ، ربما يكون التحويل خاطئ ولكنك ستجد درساً للاستاذ محمد سامر بالفيجوال بيسك عن نفس الموضوع :
http://vb4arb.com/vb/showthread.php?884

ايضاً الدرس السابق يشرح نقاط عديدة لم اتطرق لها هنا ، هذا الدرس مختصر جداً .
بالتوفيق ...
}}}
تم الشكر بواسطة:



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


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