المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : الدرس السادس والثلاثون : Extension Methods دورة .net 2008


khaledbelal
02-25-2010, 02:49 PM
بسم الله الرحمن الرحيم .
السلام عليكم ورحمة الله وبركاته .

ال 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.to String());

vb.net:

Dim mailExample As String = "email@mail. com"
MessageBox.Show(mailExample.IsValidEmailAddress.to String())

طبعاً كما لاحظت ، لا بد من ان يكون البارميتر على شكل this classname s مثلاً ، لا بد ان يكون الكلاس static .


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

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