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
ايضاً الدرس السابق يشرح نقاط عديدة لم اتطرق لها هنا ، هذا الدرس مختصر جداً .
بالتوفيق ...
السلام عليكم ورحمة الله وبركاته .
ال 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
ايضاً الدرس السابق يشرح نقاط عديدة لم اتطرق لها هنا ، هذا الدرس مختصر جداً .
بالتوفيق ...