مشاكل مع أو أفضل الممارسات لاجتياز البيانات مرة أخرى من خلال eventArgs؟
-
12-09-2019 - |
سؤال
لدي فئة غير واجهة المستخدم الرسومية التي تنشئ الأحداث فيما يتعلق بما تفعله (والتي بدورها تستخدمها نموذج لعرضه للمستخدم التقدم).
واحدة من الأحداث هي AboutToDoSomethingDestructiveEvent
. وبعد الآن نريد أن يكون لديك النموذج عرض مربع حوار للمستخدم متى AboutToDoSomethingDestructiveEvent
يثير، يسألهم إذا كانوا يريدون SomethingDestructive
يحدث. إذا حددوا NO، فسنضع قيمة على العميل EventArgs
وسوف تقرأ النموذج الأصلي هذه القيمة ثم تخطي القيام به SomethingDestructive
.
هل هذا الاستخدام السليم للأحداث و EventArgs
ب هل هناك مشاكل مع هذا النهج؟ هل هناك أفضل ممارسات للقيام بهذا النوع من الأشياء؟
المحلول
النهج جيد جدا هناك حتى فئة في إطار .NET لهذا: canceleventargs.
نصائح أخرى
الطريقة التي تفكر بها هي الطريقة الصحيحة للقيام بذلك. الحدث Console.Cancelkeypress هو في الأساس نفس الشيء.
هذا نهج مناسب، طالما أن لديك EventArgs الخاص بك، والتي ترثت من system.eventargs. من الشائع جدا، وأفضل مثال على ما يمكنني التفكير فيه في Postsharp مع Flowbehavior.