mohammad.sakhidel
شنبه 28 فروردین 1389, 19:39 عصر
سلام دوستان.
راستش من امروز در حالی که داشتم کتابی رو میخوندم ، مطلبی رو دیدم که برام جالب بود ، میخوام اینجا مطرحش کنم شاید برای دوستان جالب باشه ، قبلش تو سایت یه جستجو زدم تا ببینم تکراری نباشه که نبود.
Extension Methods
این نوع متدها در C# 3.0 ارائه شده اند و این توانایی رو به ما میدن که بتونیم انواع (Type) متغیر هارو توسعه بدیم بدون اینکه تغییراتی به اون نوع اعمال کنیم یا کلاس جدیدی برای هر Type ایجاد کنیم و از ارث بری استفاده کنیم.
این نوع متد ها بصورت static تعریف میشن.
مثال
یک کلاس جدید بنام MyExtensions در داخل فضای نام MyExtensionMethods ایجاد کنین. به شکل زیر :
namespace MyExtensionMethods
{
public static class MyExtensions
{
public static int GetWordCount(this System.String mystring)
{
return mystring.Split(null).Length;
}
public static bool IsValidemailAddress(this System.String myString)
{
bool res = false;
Regex rgx = new Regex(@"^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$");
res = rgx.IsMatch(myString);
return res;
}
}
}
حالا این دوتا متد به کلاس System.String اضافه شدن. برای مثال بصورت زیر می تونید از این متد ها استفاده کنید :
private void button1_Click(object sender, EventArgs e)
{
string myEmail = "mohammad.sakhidel@gmail.com";
string sentence = "Visit my website www.ramanweb.com";
bool isValidEmail = myEmail.IsValidemailAddress();
int wordsCount = sentence.GetWordCount();
}
امیدوارم مفید بوده باشه.
راستش من امروز در حالی که داشتم کتابی رو میخوندم ، مطلبی رو دیدم که برام جالب بود ، میخوام اینجا مطرحش کنم شاید برای دوستان جالب باشه ، قبلش تو سایت یه جستجو زدم تا ببینم تکراری نباشه که نبود.
Extension Methods
این نوع متدها در C# 3.0 ارائه شده اند و این توانایی رو به ما میدن که بتونیم انواع (Type) متغیر هارو توسعه بدیم بدون اینکه تغییراتی به اون نوع اعمال کنیم یا کلاس جدیدی برای هر Type ایجاد کنیم و از ارث بری استفاده کنیم.
این نوع متد ها بصورت static تعریف میشن.
مثال
یک کلاس جدید بنام MyExtensions در داخل فضای نام MyExtensionMethods ایجاد کنین. به شکل زیر :
namespace MyExtensionMethods
{
public static class MyExtensions
{
public static int GetWordCount(this System.String mystring)
{
return mystring.Split(null).Length;
}
public static bool IsValidemailAddress(this System.String myString)
{
bool res = false;
Regex rgx = new Regex(@"^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$");
res = rgx.IsMatch(myString);
return res;
}
}
}
حالا این دوتا متد به کلاس System.String اضافه شدن. برای مثال بصورت زیر می تونید از این متد ها استفاده کنید :
private void button1_Click(object sender, EventArgs e)
{
string myEmail = "mohammad.sakhidel@gmail.com";
string sentence = "Visit my website www.ramanweb.com";
bool isValidEmail = myEmail.IsValidemailAddress();
int wordsCount = sentence.GetWordCount();
}
امیدوارم مفید بوده باشه.