ورود

View Full Version : آموزش: روش پياده سازی اينترفيس INotifyPropertyChanged به صورت اتوماتيک



elec60
یک شنبه 17 آبان 1394, 20:09 عصر
سلام

من يه مشکل اساسی داشتم تو کلاسهايي که خاصيت های زيادی داشتن و لازم بود اينترفيس INotifyPropertyChanged رو پياده سازی کنن. اولا تعداد خاصيت ها خيلی زياد بود. ثانيا کلاسها و خاصيت هاشون به وصيله EF به صورت خودکار توليد ميشدن و اگه دستی هم اينترفيس مورد نظر رو پياده سازی می کردم بعد از يه تغيير کوچولو تو محيط ديزاينر EF کدهام همه ميپريدن(به خاطر regenerate شدن کلاسها)

البته راه حلهایی پيدا کردم مثل کپی کردن کدهای دستی به فايل تکست و هر بار که کدها regenerate میشدن از اون فايل تکست پياده سازی های INotifyPropertyChanged رو کپی پیست می کردم که بنظرم کار مزخرفی بود اما کار راه انداز.

تا اينکه تو نت Fody رو پيدا کردم که INotifyPropertyChanged رو به خاصيت ها تزريق ميکنه. برای استفاده از اين ابزار مفيد تو NuGet Package Manager دستور زير رو تايپ کنيد:

Install-Package PropertyChanged.Fody


با اتمام نصب، dll به رفرنسها اضافه ميشه و برای استفاده بايد بالای تعريف کلاس مورد نظر از attribute و يا صفت [PropertyChanged.ImplementPropertyChanged]
استفاده کنيد. به همين راحتی

البته اگه مثل من کلاسهاتون AutoGenerate ميشن و partial هستن بهتره يه جای ديگه هم، (علاوه بر کلاس توليد شده)کلاس partial رو تعريف کنين و اونجا از Fody استفاده کنين.