আমাদের প্রায়শই বলা হয় যে আমাদের ক্ষেত্রগুলি বাইরের বিশ্বে প্রকাশ করার পরিবর্তে শ্রেণি ক্ষেত্রগুলির জন্য গিটার এবং সেটার পদ্ধতিগুলি (সি # তে বৈশিষ্ট্য) তৈরি করে এনক্যাপসুলেশন রক্ষা করা উচিত।
তবে অনেক সময় আছে যখন কোনও ক্ষেত্রের মান ধরে রাখার জন্য কেবল সেখানে থাকে এবং পেতে বা সেট করতে কোনও গণনার প্রয়োজন হয় না। এগুলির জন্য আমরা সকলেই এই সংখ্যাটি করব:
public class Book
{
private string _title;
public string Title
{
get{ return _title; }
set{ _title = value; }
}
}
ঠিক আছে, আমার একটি স্বীকারোক্তি আছে, আমি এগুলি সব লিখতে পারছিলাম না (সত্যিই, এটি এটি লেখার দরকার ছিল না, এটি এটি দেখার দরকার ছিল), তাই আমি দুর্বৃত্ত হয়ে গিয়েছিলাম এবং সরকারী ক্ষেত্রগুলি ব্যবহার করেছি।
তারপরে সি # 3.0 আসে এবং আমি দেখতে পাই তারা স্বয়ংক্রিয় বৈশিষ্ট্য যুক্ত করেছে:
public class Book
{
public string Title {get; set;}
}
যা পরিপাটি, এবং আমি এর জন্য কৃতজ্ঞ, কিন্তু সত্যই, কেবল একটি পাবলিক ফিল্ড তৈরির চেয়ে এর চেয়ে আলাদা কী?
public class Book
{
public string Title;
}
prop
কোড স্নিপেট এটি দ্রুত বৈশিষ্ট্য তৈরি করে তোলে। শুধু টাইপ prop
তারপর ট্যাব।