আফাইক, ব্যক্তিগত # সি এর সর্বত্রই ডিফল্ট
যথেষ্ট নয় - ডিফল্ট হ'ল "এই ঘোষণার জন্য সর্বাধিক সীমাবদ্ধ অ্যাক্সেস"। সুতরাং উদাহরণস্বরূপ, একটি শীর্ষ-স্তরের টাইপের সাথে ডিফল্ট হয় internal
; নেস্টেড টাইপের জন্য ডিফল্ট হয় private
।
সুতরাং, কীওয়ার্ডটি লেখার কারণ কী বা এটি কেন বিদ্যমান?
এটি এটিকে স্পষ্ট করে তোলে যা দুটি কারণে ভাল:
- আপনার প্রশ্ন অনুসারে যারা ডিফল্ট জানেন না তাদের জন্য এটি আরও স্পষ্ট করে তোলে (ব্যক্তিগতভাবে আমি এই যুক্তিটি কখনই পছন্দ করি না, তবে আমি অনুভব করেছি যে এটি উল্লেখ করার মতো)
- এটি এমন একটি ধারণা দেয় যা আপনি ইচ্ছাকৃতভাবে ডিফল্টগুলির সাথে না গিয়ে বরং ব্যক্তিগত করে তোলার সিদ্ধান্ত নিয়েছেন।
আপনার শেষ অংশ হিসাবে:
তদুপরি এমন কোনও মামলা রয়েছে যেখানে "প্রাইভেট" (একা) লিখলে সদস্যের অ্যাক্সেসযোগ্যতা পরিবর্তন হবে?
হ্যাঁ, সম্পত্তির অর্ধেকটি অন্যের চেয়ে বেশি বিধিনিষেধযুক্ত করার জন্য:
// Public getter, public setter
public int Foo { get; set; }
// Public getter, private setter
public int Bar { get; private set; }
আমি ব্যবহার অক্ষমতা সর্বত্র আমি পারতাম সঙ্গে যেতে, কিন্তু আমি বিশ্বাস করে থাকেন (আংশিকভাবে এরিক Lippert দ্বারা) এটি পরিষ্কার যে আপনি এটি সম্পর্কে চিন্তা এবং থাকেন উপার্জন সিদ্ধান্ত নিয়েছে কিছু ব্যক্তিগত করতে একটি ভাল ধারণা।
সম্ভবত এমনকি - ব্যক্তিগতভাবে আমি করছেন যে সিল জন্য / unsealed, খুব, টাইপ ঘোষণা জন্য একটি উপায় থাকত আছে একটি ডিফল্ট। আমি সন্দেহ করি যে অনেক বিকাশকারী (যদি আমি সাবধান না হয়ে থাকি তবে আমি নিজেরাই অন্তর্ভুক্ত) ক্লাসগুলি সিল না করে ছেড়ে দেয় কারণ সেগুলি সিল করার চেয়ে কম প্রচেষ্টা হয়।
internal
পূর্বনির্ধারিতভাবে হবে ।