جنریک ها (Generics)

جنریک ها کلاس‌ها، متدها یا رابط‌هایی هستند که بسته به نوع داده‌ای که به آنها اختصاص داده می‌شود رفتارشان را سازگار می‌کنند. به عنوان مثال می‌توان یک متد جنریک تعریف کرد که هر نوع داده‌ای را قبول کند. همچنین می‌توان یک متد ایجاد کرد که بسته به نوع دریافتی، مقادیری از انواع داده‌ای مانند int، double یا string را نشان دهد. اگر از جنریک ها استفاده نکنید باید چند متد و یا حتی چندین متد سربارگذاری شده برای نمایش هر نوع ممکن ایجاد کنید.

public void Show(int number)
{
    Console.WriteLine(number);
}

public void Show(double number)
{
    Console.WriteLine(number);
}

public void Show(string message)
{
    Console.WriteLine(message);
}

با استفاده از جنریک ها می‌توان متد جنریکی ایجاد کرد که هر نوع داده‌ای را قبول کند.

public void Show<E>(E item)
{
    Console.WriteLine(item);
}

متدهای جنریک را در درسهای آینده توضیح خواهیم داد. حتماً این سؤال را از خودتان می‌پرسید که چرا نباید از نوع آبجکت که هر نوع داده‌ای را قبول می‌کند استفاده کنیم؟ در آینده مشاهده می‌کنید که با استفاده از جنریک ها نیاز به عمل cast (تبدیل صریح) ندارید. درباره جنریک ها در درسهای بعد مطالب بیشتری توضیح می‌دهیم.

لطفا اگر نظر، پیشنهاد و یا انتقادی در باره مطلب بالا دارید در قسمت زیر و اگر سوالی دارید در بخش پرسش و پاسخ مطرح بفرمایید.