PDA

View Full Version : تفاوت بین تعریف متغییرها



ReSharper
دوشنبه 14 شهریور 1384, 20:11 عصر
چه فرقی بین نحوه تعریف متغییرها به شکل Friend و Protected و Protected Friend و Default وجود داره ؟
در ضمن دستور Shared چی کار میکنه ؟

vbapr2005
چهارشنبه 16 شهریور 1384, 01:42 صبح
این آخریو میتونم کمکت کنم. اما درباره ی سوال اولی شرمنده ام.
تا اونجایی که من میدونم یکی از استفاده های Shared اینه که مثلا شما میای یه کلکسیون از یه کلاس تعریف میکنی و میخوای برای تمام پراپرتی های اشیاءی که از اون کلاس درست کردی فقط یه مقدار داشته باشن.(مثلا شما یه کلکسیون از کتابها رو درست کردی و همه کلاس کتاب هم یه پراپرتی NewBookName داره که اسم جدید ترین کتاب (شی) رو توی خودش نگه میداره. باید این خاصیت برای تمام کتابها یه مقدار داشته باشه.) برای این کار شما میای از یه پراپرتی Shared استفاده می کنی.

دوستان اگه حرف های من (در صورت اشتباه بودن) رو تصحیح کنید و به سوال اول ReSharper عزیز هم جواب بدین هر دومون ممنون میشیم.

Peyman_Ranjbar
چهارشنبه 16 شهریور 1384, 03:54 صبح
سطوح دستیابی به متغیر ها :

Friend یا internal :
اجازه استفاده از متغیر یا کلاس فقط در اسمبلی که رویش کار می شود امکان پذیر است.
-------------------------------------------------------------------------------------------------------------------------
Protected یا protected :
اجازه استفاده از متغیر یا کلاس فقط در کلاس موجود و یا اشیاء مشتق شده از آن(اشیائی که از آن ارث می برند)
-------------------------------------------------------------------------------------------------------------------------
Public یا public:
استفاده از متغیر ها و کلاس ها در داخل یا خارج اسمبلی مجاز است.
-------------------------------------------------------------------------------------------------------------------------
Protected Friend یا protected internal :
دسترسی به متغیر ها و کلاس فقط در کلاس موجود و در داخل اسمبلی و یا کلاسهای مشتق شده از آن در داخل مجاز می باشد.
-------------------------------------------------------------------------------------------------------------------------
Private یا private :
دسترسی به متغیر فقط در کلاسی که در آن تعریف شده مجاز می باشد.

-------------------------------------------------------------------------------------------------------------------------
رنگهای سبز مربوط به #C می باشد.
-------------------------------------------------------------------------------------------------------------------------
امید وارم بدرتون بخوره:بوس:

aminchoroomi
چهارشنبه 16 شهریور 1384, 16:57 عصر
دوستمون vbapr2005 درست میگه

ولی Shared یه کاربرد اساسی دیگه هم داره

شما برای استفاده از اعضای یک کلاس باید حتما یه شی از روی اون بسازید ولی اگه این مثلا Property که تو کلاسه Shared باشه دیگه نیازی به ساخت شی نیست و مستقیما با نوشتن اسم کلاس به اون Property دسترسی داریم.

vbapr2005
چهارشنبه 16 شهریور 1384, 23:55 عصر
دست شما درد نکنه. از دوتایی تون ممنونم