دلیل اصلی استفاده از Property به جای Field را میتوان کنترل بر مقادیر ست شده برای Property دانست در مثال زیر
public string FirstName; private string _lastName; public string LastName { get { return _lastName; } set { _lastName = value; } }
هم فیلد FirstName , و هم پراپرتی LastName از خارج از کلاس قابل دسترسی میباشند ..
ولی با توجه به وجود Setter در پراپرتی ، میتوان بر مقدار انتصاب شده به LastName نظارت داشت و فقط زمانی به Backing Field آن مقدار را انتصاب داد که شرایط خاصی را داشته باشد ..
دیگر مزیت استفاده از Property ، کپسوله سازی فیلد میباشد که جز قواعد اصلی Object Oriented است ...
همچنین امکان DataBind به Property وجود دارد ولی در Field این امکان موجود نیست ..
مطلباتون خیلی خوبن