در نسخههای جدید سیشارپ، ویژگیای معرفی شدهاست که میتواند تعریف propertyها را سادهتر کند: کلمه کلیدی field.
با این قابلیت، دیگر نیازی به تعریف دستی فیلد پشتیبان نیست و کدنویسی تمیزتر و سریعتر میشود.
در نسخههای قبلی سیشارپ، وقتی یک property تعریف میشد و قصد داشتید در get یا set به فیلد پشتیبانش دسترسی داشته باشید، باید آن فیلد دستی تعریف میشد. اما حالا با filed ، میتوان از فیلد پنهانیای که کامپایلر خودش برای property تولید میکند استفاده کرد.
🔘 روش قدیمی (قبل از اضافه شدن field):
private string _email;
public string Email
{
get => _email;
set
{
if (!value.Contains("@"))
throw new ArgumentException("Invalid email address");
_email = value;
}
}
در اینجا:
- باید فیلد _email را جداگانه تعریف میکردیم.
- در get و set به آن فیلد دستی اشاره میکردیم.
🟣 روش جدید با fileld:
public string Email
{
get => field;
set
{
if (!value.Contains("@"))
throw new ArgumentException("Invalid email address");
field = value;
}
}
در این نسخه:
- نیازی به تعریف فیلد جداگانه نیست و کامپایلر خودش یک فیلد پنهان برای Email میسازد.
🔗 در اینجا بیشتر بخوانید.
———
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، نظرات خود را با ما در قسمت کامنتها به اشتراک بگذارید.
#نگار_قاسمی (لینکدین)
کانال تلگرام:
@SoftwarePhilosophy
______