আমার মনে হয় বিভ্রান্তিমূলক অংশটি হ'ল যদি আপনি int Property { get; set; }
কোনও শ্রেণীর ভিতরে লিখেন তবে তা অন্তর্নিহিত ব্যাকিং ফিল্ড সহ একটি স্ব-সম্পত্তি।
তবে আপনি যদি ইন্টারফেসে ঠিক একই জিনিসটি লিখেন তবে এটি স্বয়ংক্রিয় সম্পত্তি নয় , এটি কেবল ঘোষণা করে যে সম্পত্তিটি ইন্টারফেসের অংশ এবং যে কোনও ধরণের ইন্টারফেস প্রয়োগ করে সেই বৈশিষ্ট্যটি (স্বয়ংক্রিয় সম্পত্তি হিসাবে বা না হিসাবে) অন্তর্ভুক্ত থাকতে হবে ), তবে এটি ব্যাকিং ফিল্ড তৈরি করে না।
পার্থক্যটি দেখার একটি উপায় হ'ল লিখন int Property { get; }
: এটি একটি ইন্টারফেসে বৈধ এবং এমন একটি সম্পত্তি ঘোষণা করে যেখানে কেবল প্রাপ্তি রয়েছে তবে কোনও সেটর নেই। তবে এটি কোনও ক্লাসে সংকলন করবে না (যদি আপনি সি # 6.0 ব্যবহার করেন না), কারণ অটো-প্রপার্টিটিতে একটি সেটটার থাকতে হবে।