আমর - কেন আমি c#মধ্যে ICloneable বাস্তবায়ন করা উচিত?




বাংলা টু ইংরেজি ট্রান্সলেশন (3)

আপনি কি আমাকে ব্যাখ্যা করতে পারেন যে আমি ICloneable থেকে উত্তরাধিকারী কেন এবং Clone() পদ্ধতিটি বাস্তবায়ন করব?

যদি আমি একটি গভীর অনুলিপি করতে চাই, আমি কি শুধু আমার পদ্ধতি বাস্তবায়ন করতে পারি না? আসুন MyClone() বলি?

কেন আমি ICloneable থেকে উত্তরাধিকারী হতে ICloneable ? সুবিধার কি কি? এটা কি কোড "আরও পঠনযোগ্য" ব্যাপার?


আপনি না করা উচিত। মাইক্রোসফট ICloneable বাস্তবায়ন করার প্রস্তাব ICloneable কারণ আপনার Clone পদ্ধতিটি "গভীর" বা "অগভীর" ক্লোন সঞ্চালন করে কিনা তা ইন্টারফেস থেকে কোনও স্পষ্ট ইঙ্গিত নেই।

আরও তথ্যের জন্য ২003 (!) ফিরে ব্র্যাড এব্রামসের এই ব্লগ পোস্টটি দেখুন।


ম্যাট সঠিক, এটি ব্যবহার করবেন না। আপনার নিজস্ব Copy() পদ্ধতি (বা অনুরূপ নাম) তৈরি করুন এবং আপনার Copy() এটি সম্পূর্ণরূপে পরিষ্কার করুন কিনা আপনার পদ্ধতিটি আপনার বস্তুর একটি গভীর বা অগভীর অনুলিপি তৈরি করছে কিনা।


ICloneable বিসিএল-র ঐতিহ্যগুলির একটি যা বিতর্কিত। IMHO বাস্তবায়ন করার কোন বাস্তব কারণ নেই। এর সাথে যদি আমি একটি ক্লোন পদ্ধতি তৈরি করতে যাচ্ছি তবে আমি ICloneable প্রয়োগ ICloneable , এবং আমি ICloneable নিজস্ব শক্তিশালী টাইপ সংস্করণ সরবরাহ করব।

ICloneable সঙ্গে সমস্যাটি Clone একটি অগভীর বা একটি গভীর কপি ছিল, যা খুব ভিন্ন জিনিস যদি এটা নির্দেশ করা হয় না। ICloneable<T> কোনও ICloneable<T> আসলে ICloneable<T> সম্পর্কে মাইক্রোসফ্টের চিন্তার ইঙ্গিত হতে পারে





icloneable