কোথায় ব্যবহার করবেন (জেনারিক টাইপ সীমাবদ্ধতা)

Kothaya Byabahara Karabena Jenarika Ta Ipa Simabad Dhata



C#-এ জেনেরিক টাইপ সীমাবদ্ধতা ডেভেলপারদের সে ধরনের সেট সংজ্ঞায়িত করতে দেয় যা একটি জেনেরিক টাইপ প্যারামিটার প্রতিনিধিত্ব করতে পারে। এই বৈশিষ্ট্যটি কম্পাইলারকে টাইপ নিরাপত্তা প্রয়োগ করতে সক্ষম করে এবং রানটাইমের সময় ঘটতে পারে এমন ত্রুটিগুলি প্রতিরোধ করে। সবচেয়ে ব্যবহৃত সীমাবদ্ধতা এক 'কোথায়' সীমাবদ্ধতা, এই নিবন্ধটি ব্যাখ্যা করবে কি 'কোথায়' সীমাবদ্ধতা C# এ রয়েছে এবং কীভাবে এটি আপনার কোডে ব্যবহার করবেন।

কি 'কোথায়' সীমাবদ্ধতা

দ্য 'কোথায়' সীমাবদ্ধতা হল C#-এ একটি জেনেরিক টাইপ সীমাবদ্ধতা যা ডেভেলপারদের টাইপ প্যারামিটার নির্দিষ্ট করতে দেয় যা একটি জেনেরিক টাইপ প্রতিনিধিত্ব করতে পারে। সীমাবদ্ধতা ব্যবহার করে নির্দিষ্ট করা হয় 'কোথায়' টাইপ প্যারামিটার এবং সীমাবদ্ধতা দ্বারা অনুসরণ করা কীওয়ার্ড, ব্যবহার করার জন্য সিনট্যাক্স 'কোথায়' সীমাবদ্ধতা নিম্নরূপ:

পাবলিক ক্লাস ClassName < টি > যেখানে টি : বাধা

{

// ক্লাস বাস্তবায়ন

}

এখানে 'শ্রেণির নাম' একটি জেনেরিক টাইপ প্যারামিটার সহ ক্লাসের নাম উপস্থাপন করে 'টি' . দ্য 'কোথায়' কীওয়ার্ড টাইপ প্যারামিটারের জন্য সীমাবদ্ধতা নির্দিষ্ট করে, এবং 'সীমাবদ্ধতা' টাইপ পরামিতি প্রতিনিধিত্ব করতে হবে যে ধরনের.







আসুন একটি জেনেরিক ক্লাসের উদাহরণ নেওয়া যাক যা একটি টাইপ প্যারামিটার গ্রহণ করে এবং মানগুলির একটি অ্যারে থেকে সর্বনিম্ন মান প্রদান করে। এখানে কোডটি ব্যবহার করে 'কোথায়' নির্দিষ্ট করার সীমাবদ্ধতা যে টাইপ প্যারামিটারটি অবশ্যই একটি সাংখ্যিক প্রকার হতে হবে:



সিস্টেম ব্যবহার করে ;

পাবলিক ক্লাস MinValue < টি > যেখানে টি : গঠন , ICতুলনীয় , আইকনভার্টেবল

{

পাবলিক T GetMinValue ( টি [ ] অ্যারে )

{

যদি ( অ্যারে == খালি || অ্যারে দৈর্ঘ্য == 0 ) {

নতুন ArgumentException নিক্ষেপ করুন ( 'অ্যারে শূন্য বা খালি হতে পারে না' ) ;

}

টি মিনিট = অ্যারে [ 0 ] ;

জন্য ( int i = 1 ; i < অ্যারে দৈর্ঘ্য ; i ++ ) {

যদি ( অ্যারে [ i ] . তুলনা করা ( মিনিট ) < 0 ) {

মিনিট = অ্যারে [ i ] ;

}

}

ফিরে মিনিট ;

}

}

পাবলিক ক্লাস প্রোগ্রাম

{

পাবলিক স্থির অকার্যকর প্রধান ( )

{

int [ ] intArray = { 1 , 2 , 3 , 4 , 5 } ;

MinValue < int > intMinValue = নতুন MinValue < int > ( ) ;

int intMin = intMinValue. GetMinValue ( intArray ) ;

কনসোল লেখার লাইন ( 'intArray-এর সর্বনিম্ন মান: {0}' , intMin ) ;

দ্বিগুণ [ ] ডবল অ্যারে = { 1.1 , 2.2 , 3.3 , 4.4 , 5.5 } ;

MinValue < দ্বিগুণ > ডবলমিন ভ্যালু = নতুন MinValue < দ্বিগুণ > ( ) ;

দ্বিগুণ ডবলমিন = ডবলমিন ভ্যালু। GetMinValue ( ডবল অ্যারে ) ;

কনসোল লেখার লাইন ( 'ডবল অ্যারের ন্যূনতম মান: {0}' , ডবলমিন ) ;

}

}

এখানে, আমরা একটি জেনেরিক ক্লাস সংজ্ঞায়িত করেছি 'মিনিমাম' যে একটি টাইপ পরামিতি গ্রহণ করে 'টি' এবং মানগুলির একটি অ্যারে থেকে সর্বনিম্ন মান প্রদান করে। পরবর্তী, আমরা ব্যবহার করেছি 'কোথায়' টাইপ প্যারামিটারটি অবশ্যই একটি স্ট্রাকট হতে হবে তা নির্দিষ্ট করার জন্য সীমাবদ্ধতা, ICcomparable ইন্টারফেস প্রয়োগ করুন এবং ICconvertible ইন্টারফেস বাস্তবায়ন করুন। এই সীমাবদ্ধতা নিশ্চিত করে যে টাইপ প্যারামিটার হিসাবে শুধুমাত্র সংখ্যাসূচক প্রকারগুলি অনুমোদিত।



  আকৃতি, আয়তক্ষেত্রের বিবরণ স্বয়ংক্রিয়ভাবে তৈরি হয়





উপসংহার

দ্য 'কোথায়' C#-এ সীমাবদ্ধতা একটি শক্তিশালী বৈশিষ্ট্য যা বিকাশকারীদের টাইপ নিরাপত্তা প্রয়োগ করতে এবং রানটাইমের সময় ত্রুটি প্রতিরোধ করতে দেয়। এই সীমাবদ্ধতা ব্যবহার করে, আপনি একটি সাধারণ টাইপ প্যারামিটার প্রতিনিধিত্ব করতে পারে এমন ধরনের সেট নির্দিষ্ট করতে পারেন। এই নিবন্ধটি একটি ওভারভিউ প্রদান করেছে 'কোথায়' C# এ সীমাবদ্ধতা এবং একটি কোডের সাথে এটি কীভাবে ব্যবহার করতে হয় তা প্রদর্শন করেছে।