পড়া এই , আমি শিখেছি সম্ভব ছিল একটি পদ্ধতি এটি একটি জেনেরিক পদ্ধতি উপার্জন একাধিক ধরনের পরামিতি গ্রহণ করতে অনুমতি দেয়। উদাহরণস্বরূপ, "ইউ" এটির একটি তা নিশ্চিত করতে নিম্নলিখিত কোডটি একধরণের বাধা দিয়ে ব্যবহৃত হয় IEnumerable<T>
।
public T DoSomething<U, T>(U arg) where U : IEnumerable<T>
{
return arg.First();
}
আমি আরও কিছু কোড পেয়েছি যা একাধিক ধরণের সীমাবদ্ধতা যুক্ত করার অনুমতি দিয়েছে, যেমন:
public void test<T>(string a, T arg) where T: ParentClass, ChildClass
{
//do something
}
যাইহোক, এই কোডটি প্রয়োগ করে বলে মনে হচ্ছে arg
এটি উভয় প্রকারের ParentClass
এবং উভয়ই হতে হবে ChildClass
। আমি যা করতে চাই তা হ'ল আর্গ এক ধরণের ParentClass
বা ChildClass
নিম্নলিখিত পদ্ধতিতে হতে পারে :
public void test<T>(string a, T arg) where T: string OR Exception
{
//do something
}
আপনার সাহায্য সর্বদা হিসাবে প্রশংসা করা হয়!
where T : string
, যেমন string
একটি হল সিল বর্গ। কেবলমাত্র দরকারী জিনিস যা আপনি করতে পারেন তা হ'ল ওভারলোডগুলি সংজ্ঞায়িত করা string
এবং T : Exception
নীচে তার উত্তরটিতে @ বটজ ৩০০০ ব্যাখ্যা করেছেন।
arg
সংজ্ঞায়িতগুলি object
- তবে কেন কেবল ছবি থেকে জেনেরিকগুলি সরিয়ে নাও এবং কীভাবে তৈরি করা যায় arg
object
? কি লাভ?