আমি কেবল বুঝতে পেরেছি যে সি # সম্পত্তি নির্মাণটি একটি ব্যক্তিগত অ্যাক্সেস মডিফায়ারের সাথেও ব্যবহার করা যেতে পারে :
private string Password { get; set; }
যদিও এটি প্রযুক্তিগতভাবে আকর্ষণীয়, তবে কোনও ব্যক্তিগত ক্ষেত্রের মধ্যে আরও কম অনুষ্ঠানের সাথে জড়িত হওয়ায় আমি কখন এটি ব্যবহার করব তা ভাবতে পারি না :
private string _password;
এবং কখনই অভ্যন্তরীণভাবে আমাকে সক্ষম হতে হবে তবে সেট বা সেট না করে তবে কোনও ব্যক্তিগত ক্ষেত্র না পাওয়ার দরকার হবে তা আমি ভাবতে পারি না :
private string Password { get; }
অথবা
private string Password { set; }
তবে সম্ভবত নেস্টেড / উত্তরাধিকারসূত্রে প্রাপ্ত ক্লাসগুলির সাথে ব্যবহারের কেস রয়েছে বা সম্ভবত যেখানে সম্পত্তির মান ফিরিয়ে দেওয়ার পরিবর্তে কোনও গেট / সেটটিতে যুক্তি থাকতে পারে , যদিও আমি সম্পত্তিগুলি কঠোরভাবে সরল রাখার এবং স্পষ্ট পদ্ধতিতে কোনও যুক্তি করতে দিই, যেমন GetEncodedPassword()
।
কেহ কোনও কারণে সি # তে ব্যক্তিগত সম্পত্তি ব্যবহার করে বা এটি কেবলমাত্র প্রযুক্তিগত-সম্ভব-এখনও-বিরল-ব্যবহৃত-আসল-কোড কনস্ট্রাক্টগুলির মধ্যে একটি?
অভিযোজ্য বস্তু
সুন্দর উত্তর, তাদের মাধ্যমে পড়তে আমি ব্যক্তিগত সম্পত্তিগুলির জন্য এই ব্যবহারগুলি উপভোগ করেছি:
- যখন ব্যক্তিগত ক্ষেত্রগুলি অলসভাবে লোড করা দরকার
- যখন ব্যক্তিগত ক্ষেত্রগুলিতে অতিরিক্ত যুক্তি প্রয়োজন বা গণনা করা মানগুলি হয়
- যেহেতু ব্যক্তিগত ক্ষেত্রগুলি ডিবাগ করা কঠিন হতে পারে
- "নিজের কাছে একটি চুক্তি উপস্থাপন করতে"
- সিরিয়ালাইজেশনের অংশ হিসাবে একটি উন্মুক্ত সম্পত্তি অভ্যন্তরীণ রূপান্তর / সরলকরণ করতে
- আপনার শ্রেণীর অভ্যন্তরে ব্যবহারের জন্য গ্লোবাল ভেরিয়েবল মোড়ানো