<div>نظام متعدد المستويات لمعالجة الأحداث باستخدام المندوبين</div>

C# Hard delegates

مهمة «<div>نظام متعدد المستويات لمعالجة الأحداث باستخدام المندوبين</div>»

<div>طور برنامجًا يحاكي نظامًا متعدد المستويات لمعالجة الأحداث. يتم إدخال سلسلة من الأوامر. يمكن أن يكون كل أمر: 'ADD <المستوى> <اسم_المعالج>' — إضافة معالج (طريقة بدون قيمة إرجاع، تستقبل سلسلة نصية) إلى المستوى المحدد (عدد صحيح من 1 إلى 10)؛ 'REMOVE <المستوى> <اسم_المعالج>' — إزالة معالج من المستوى؛ 'FIRE <المستوى> <الحدث>' — استدعاء جميع معالجات المستوى المحدد مع الحدث المعطى (سلسلة نصية). يتم استدعاء المعالجات على نفس المستوى بترتيب الإضافة. إذا كان المعالج بنفس الاسم موجودًا بالفعل على المستوى، فلن يتم إضافته مرة أخرى. عند إزالة معالج غير موجود، لا يحدث شيء. أسماء المعالجات — أحرف لاتينية وأرقام، حتى 20 حرفًا. الأحداث — سلاسل نصية عشوائية بدون مسافات حتى 100 حرف.</div>

تنسيق الإدخال

في السطر الأول عدد صحيح N (1 ≤ N ≤ 1000) — عدد الأوامر. بعد ذلك N سطرًا من الأوامر بالتنسيق: ADD <المستوى> <اسم_المعالج> أو REMOVE <المستوى> <اسم_المعالج> أو FIRE <المستوى> <الحدث>.

تنسيق الإخراج

لكل أمر FIRE، اطبع سطرًا يحتوي على نتائج استدعاء جميع المعالجات في ذلك المستوى، مفصولة بمسافة، بترتيب استدعائها. إذا لم يكن هناك معالجات في المستوى، اطبع 'NONE'. كل معالج يطبع على وحدة التحكم سطرًا بالشكل '<handler_name>:<event>'.

main.cs