کلاس های جنریک (عمومی) کلاس هایی هستند که از آنها می توان برای انواع داده های متفاوت استفاده کرد.
قبل از این که به بحث کلاس های عمومی بپردازیم بهتر است به توابع عمومی (جنریک) نگاهی بیندازیم. به یک مثال توجه کنید. فرض کنید می خواهیم یک تابع به نام sum برای جمع کردن دو عدد ورودی بنویسیم. توابع زیر می توانند برای این منظور تعریف شوند:
public int sum( int a, int b)
{
return (a + b);
}
public double sum( double a, double b)
{
return (a + b);
}
public byte sum( byte a, byte b)
{
return (a + b);
}
وقتی که این سه تابع را تعریف می کنیم، هنگامی که تابع sum را با پارامترهایی از نوع int فراخوانی می کنیم، تابع اول فراخوانی می شود. اگر همین تابع sum را با پارامترهایی از نوع double فراخوانی کنیم، تابع دوم فراخوانی می شود و ... . در اینجا ما سه بار تابع sum را تعریف کرده ایم.
در توابع عمومی (جنریک) می توان تابع فوق را یک بار و به صورت زیر تعریف کرد:
public double sum
{
if( typeof(T) == typeof(int))
{
return (double)( Convert.ToInt32(a) + Convert.ToInt32(b));
}
if( typeof(T) == typeof(double))
{
return Convert.ToDouble(a) + Convert.ToDouble(b);
}
if( typeof(T) == typeof(byte))
{
return (double)( Convert.ToByte(a) + Convert.ToByte(b));
}
return 0;
}
حالا برای فراخوانی تابع sum می توانیم از دستور زیر استفاده کنیم:
double result = sum
عنوان دوره : دوره آموزشی C#
پیش نیاز: آشنایی با منطق برنامه نویسی
نرم افزار های مورد استفاده:
MICRSFT VISUAL STUDI 2010
MICRSFT SQL SERVER 2008 R2
فهرست مخاطبین:
اهداف دوره:
سرفصلهای دوره:
متغیرها
کنترل جریان
حلقه ها
دستورات پرش (Jump)
آبجکت ها و انواع دادهای
متد ها
خاصیت ها
وراثت
عملگر ها و Cast ها
مجموعه ها
Generic ها
خطاها و Exceptin ها
Visual Studi 2010
فرم ها و کنترلهای ویندوزی
AD.Net
معرفی XML و .NET
دستکاری dcumentهای XML با استفاده از مدل dcument bject
خواندن و نوشتن dcumentهای XML
دسترسی به dcumentهای XML با استفاده از مدل Xpath Data