জেনেরিকস আমাদেরকে একটি শ্রেণীকে এর ক্ষেত্র, পদ্ধতি, প্যারামিটার ইত্যাদির জন্য স্থানধারক সহ সংজ্ঞায়িত করতে দেয়। জেনেরিক কম্পাইলের সময় এই স্থানধারকদের কিছু নির্দিষ্ট টাইপ দিয়ে প্রতিস্থাপন করে। একটি জেনেরিক কোণ বন্ধনী <> ব্যবহার করে সংজ্ঞায়িত করা যেতে পারে। সংগ্রহের একটি প্রাথমিক সীমাবদ্ধতা হল কার্যকর টাইপ চেকিংয়ের অনুপস্থিতি। এর মানে হল যে আপনি যেকোন বস্তুকে একটি সংগ্রহে রাখতে পারেন কারণ C# প্রোগ্রামিং ভাষার সমস্ত ক্লাস অবজেক্ট বেস ক্লাস থেকে প্রসারিত হয়।
এছাড়াও, আমরা সাধারণ পদ্ধতির মতো জেনেরিক পদ্ধতি থেকে নাল ফেরত দিতে পারি না। আমরা যদি শূন্য রিটার্ন করার চেষ্টা করি তাহলে একটি জেনেরিক পদ্ধতিতে যে ত্রুটি হবে তা নিচে দেওয়া হল।
using System; namespace DemoApplication { class Program { public static void Main() { Add(5, 5); } public static T Add<T>(T parameter1, T parameter2) { return null; } } }
সুতরাং, একটি জেনেরিক পদ্ধতি থেকে একটি নাল বা ডিফল্ট মান ফেরত দিতে আমরা ডিফল্ট() ব্যবহার করতে পারি। default(T) প্রদত্ত প্রকারের ডিফল্ট অবজেক্ট ফিরিয়ে দেবে।
উদাহরণ
using System; namespace DemoApplication { class Program { public static void Main() { Add(5, 5); Console.ReadLine(); } public static T Add<T>(T parameter1, T parameter2) { var defaultVal = default(T); Console.WriteLine(defaultVal); return defaultVal; } } }
আউটপুট
কোডের আউটপুট হল
0
এখানে আমরা দেখতে পাচ্ছি যে পূর্ণসংখ্যা 0 এর ডিফল্ট মান ফিরে এসেছে।