আমি সি # 4.0 সম্পর্কে অ্যান্ডারসের কথা এবং সি # 5.0 এর স্নিগ্ধ পূর্বরূপটি দেখছিলাম , এবং সি # তে যখন alচ্ছিক প্যারামিটারগুলি পাওয়া যায় সে সম্পর্কে কী ভাবতে পেলাম যা নির্দিষ্ট করে সমস্ত পরামিতিগুলির প্রয়োজন নেই এমন পদ্ধতিগুলি ঘোষণা করার প্রস্তাবিত উপায় হতে চলেছে?
উদাহরণস্বরূপ FileStream
শ্রেণীর মতো এমন প্রায় পনেরোটি আলাদা আলাদা কনস্ট্রাক্টর রয়েছে যা যৌক্তিক 'পরিবারগুলিতে বিভক্ত হতে পারে below যেমন নীচে একটি স্ট্রিং থেকে, একটি থেকে IntPtr
এবং একটি থেকে একটি SafeFileHandle
।
FileStream(string,FileMode);
FileStream(string,FileMode,FileAccess);
FileStream(string,FileMode,FileAccess,FileShare);
FileStream(string,FileMode,FileAccess,FileShare,int);
FileStream(string,FileMode,FileAccess,FileShare,int,bool);
আমার কাছে মনে হয় যে এই ধরণের প্যাটার্নটি পরিবর্তে তিনটি নির্মাণকারী তৈরি করে এবং ডিফল্ট করা যেতে পারে এমনগুলির জন্য alচ্ছিক পরামিতি ব্যবহার করে আরও সহজ করা যেতে পারে, যা নির্মাণকারীর বিভিন্ন পরিবারকে আরও স্বতন্ত্র করে তুলবে [দ্রষ্টব্য: আমি জানি এই পরিবর্তনটি হবে না) ছাত্রলীগে তৈরি, আমি এই ধরণের পরিস্থিতির জন্য অনুমানমূলকভাবে কথা বলছি]।
আপনি কি মনে করেন? সি # ৪.০ থেকে এটি কীভাবে কনস্ট্রাক্টরগুলির সাথে সম্পর্কিত গ্রুপগুলি এবং methodsচ্ছিক প্যারামিটারগুলির সাথে পদ্ধতিগুলির একক পদ্ধতি তৈরি করা আরও বোধগম্য হবে, বা প্রচলিত বহু-ওভারলোড প্রক্রিয়াটির সাথে যুক্ত থাকার কোনও ভাল কারণ আছে?