ورود

نسخه کامل مشاهده نسخه کامل : عدم امکان استفاده از برخی Access Modifiers



Life24
27-07-2015, 02:30
سلام دوستان،
ما تایپ کردیم و هنگام ارسال برق رفت :n22:
چرا فقط public و internal رو میشه در Top-Level استفاده کرد؟ و باید بقیه موارد مثل protected , private , protected internal رو داخل کلاس های تو در تو (به اصلاح Nested) استفاده کرد.
:n37:

_H2_
15-08-2015, 00:22
سلام
جواب خیلی روشن است ...
وقتی ما یک موجودیت را private تعریف میکنیم یعنی میخواهیم فقط در حوزه بالاسری خود قابل رویت باشد.
یعنی فق توسط موارد موجود در همان کلاس یا ساختار والد قابل رویت و استفاده است.
مانند کلاس Class2 و متد Func2 که در حوزه Class1 فقط قابل رویت و استفاده هستند:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

حالا اگر چیزی خودش Top-Level باشد، دیگر بالاسری ندارد، پس در چه محدوده بالاسری باید قابل رویت باشد؟ چه کلاس یا توابع دیگری میتوانند آن را ببینند؟ آیا میخواهیم کلاسی تعریف کنیم که حتی یک ساختار دیگر هم نتواند آن را ببیند و از آن استفاده کند؟؟؟

باید یک حوزه بالا سری Top-Level ای باشد تا برای بچه هایش private و protected معنی دهد.