إطار الكيان 4 - كيفية ضخ المنطق في Setter؟
-
03-10-2019 - |
سؤال
لدي خاصية تم إنشاؤها تلقائيًا من قاعدة البيانات في EDMX: وصف. أقوم بعد ذلك بإنشاء ملف .CS "فئة جزئية" للكيان وأضيف خاصية للقراءة فقط: وصف قصير. Getter's Getter's sportDescription ببساطة يعالج الوصف (يزيل تغذية الخط ، عودة النقل ، إلخ).
كيف يمكنني رفع إشعار تغيير الممتلكات لوساطة قصيرة على Setter of Description؟
شكرًا!
المحلول
سيكون هذا اختراقًا ، ولكن يمكن القيام به.
أولاً ، تحتاج إلى تجاوز ReportPropertyChanging
و ReportPropertyChanged
. ثم تحقق من المعلمة للحصول على اسم الخاصية الخاصة بك ... في هذه الحالة "الوصف". إذا حدث ذلك ، اتصل ReportPropertyChanging
أو ReportPropertyChanged
مع اسم الخاصية المشتقة ، في هذه الحالة "shortdescription". لأي قيمة أخرى للمعلمة ، اتصل بالنسخة الأساسية من ReportPropertyChanging/Changed
.
يحرر: فمثلا:
protected override void OnPropertyChanging(string property)
{
if (property == "Description")
{
base.OnPropertyChanging("ShortDescription");
}
base.OnPropertyChanging(property);
}
protected override void OnPropertyChanged(string property)
{
if (property == "Description")
{
base.OnPropertyChanged("ShortDescription");
}
base.OnPropertyChanged(property);
}
نصائح أخرى
الأساليب جزئية أيضًا ، لذلك في فئتك الجزئية ، يمكنك إضافة رمز مثل هذا
partial void OnDescriptionChanged()
{
OnPropertyChanged("ShortDescription");
}