مرسل الكائن هو معلمة يتم استخدامها في الأحداث في ج#. إنه يمثل الكائن الذي يقوم بتشغيل الحدث ويسمح لطريقة معالج الحدث بالوصول إلى هذا الكائن.
عند حدوث حدث ، الكائن الذي يبدأ الحدث يمر نفسه كوسيطة إلى المعلمة المرسل. يسمح هذا لطريقة معالج الأحداث بالوصول إلى بيانات ووظائف هذا الكائن من أجل تنفيذ الإجراءات المناسبة عند حدوث حدث.
على سبيل المثال ، إذا كان لديك زر في نموذج وتريد القيام بشيء ما عند النقر فوقه ، فيمكنك إضافة معالج حدث نقرة لهذا الزر. فإن طريقة معالج تبدو شيئا من هذا القبيل:
انقر فوق زر الفراغ الخاص (مرسل الكائن ، إيفينتارجس ه)
{
// الحصول على الزر الذي أثار الحدث
زر زر = (زر)المرسل;
// تنفيذ الإجراءات
زر.النص = " الضغط!";
}
في هذا المثال ، يمثل كائن المرسل الزر الذي تم النقر عليه. يمكننا إرساله إلى نوع الزر للوصول إلى خصائص وطرق هذا الكائن. في هذه الحالة ، قمنا بتعيين نص الزر على " مضغوط!".
يسمح لنا استخدام معلمة المرسل بإنشاء معالجات أحداث مرنة وقابلة لإعادة الاستخدام ، حيث يمكن ربط عدة كائنات من أنواع مختلفة بطريقة معالج واحد. هذا يتجنب الحاجة إلى إنشاء طرق معالج منفصلة لكل كائن.
- مرسل الكائن في ج#: الغرض والاستخدام
- دور مرسل الكائن في ج الأحداث#
- كيفية تحديد نوع المرسل في معالج الأحداث
- مزايا استخدام مرسل الكائن
- أمثلة على استخدام مرسل الكائن في مشاريع حقيقية
- توصيات لاستخدام مرسل الكائن
- سؤال وجواب
- ما هو مرسل الكائن في ج#?
- كيفية استخدام مرسل الكائن في ج#?
- كيف يمكنني الوصول إلى خصائص كائن المرسل في ج#?
- هل من الممكن استخدام مرسل الكائن فقط في معالجات الأحداث?
مرسل الكائن في ج#: الغرض والاستخدام
مرسل الكائن هو معلمة يتم استخدامها في الأحداث في ج#. يشير إلى الكائن الذي بدأ الحدث. حسب الاصطلاح ، يسمى اسم المعلمة لكائن المرسل "المرسل".
يتيح لك استخدام مرسل الكائن الوصول إلى معلومات حول الكائن المرسل داخل معالج الأحداث. على سبيل المثال ، إذا كان لدينا زر وقمنا بإرفاق معالج حدث نقرة به ، فيمكننا داخل هذا المعالج الوصول إلى الزر نفسه وتنفيذ إجراءات معينة.
مثال على استخدام مرسل الكائن:
- }
إرفاق المعالج بالحدث:
زر1. انقر += زر_انقر;
في هذا المثال ، عند النقر فوق الزر 1 ، سيتم استدعاء معالج الأحداث. داخل المعالج ، باستخدام معلمة المرسل ، نحصل على كائن الزر ، ونحوله إلى نوع الزر ونغير نص الزر إلى " مضغوط!".
وبالتالي ، يتيح لك استخدام مرسل الكائن معالجة الأحداث من كائنات مختلفة باستخدام نفس المعالج. هذا يقلل من كمية التعليمات البرمجية ويبسط دعمها.
دور مرسل الكائن في ج الأحداث#
في ج# ، تسمح الأحداث للفصول بالتفاعل مع بعضها البعض عن طريق الإخطار بأحداث معينة. يطلق على الفئة التي تبدأ الحدث اسم "مصدر الحدث" ، وتسمى الفئات التي تستمع إلى الحدث"معالجات الأحداث".
عند إنشاء أحداث في ج# ، غالبا ما يتم استخدام معلمة" مرسل الكائن". تشير هذه المعلمة إلى الكائن الذي بدأ الحدث. يسمح استخدام المعلمة" المرسل " لمعالج الأحداث بتحديد المصدر الذي أدى إلى تشغيل الحدث.
عند تعريف حدث باستخدام الكلمة الرئيسية" حدث " في ج# ، عادة ما يتم استخدام مندوب لتحديد توقيع الحدث. يحتوي توقيع المفوض على معلمة "مرسل الكائن" ، والتي تشير إلى مصدر الحدث:
المندوب العام باطل إيفنتهاندلر (مرسل الكائن ، إيفنتارغس ه);
الحدث العام;
عندما يتم استدعاء حدث ، الكائن الذي تسبب في الحدث يمر نفسه كمعلمة "المرسل". يمكن لمعالج الأحداث استخدام هذه المعلمة لتحديد مصدر الحدث وتنفيذ الإجراءات المناسبة.
النظر في مثال:
الطبقة العامة زر
{
حدث عام إيفنثاندلر انقر;
الفراغ العام أونكليك ()
{
// منطق معالجة حدث النقر على الزر
// استدعاء حدث النقر وتمرير أنفسنا كمعلمة " المرسل
انقر?.استدعاء (هذا ، إيفنتارغس.فارغة);
}
}
مسجل الطبقة العامة
{
سجل الفراغ العام (مرسل الكائن ، إيفنتارجس ه)
{
// الحصول على مصدر الحدث من معلمة "المرسل"
زر زر = (زر)المرسل;
// منطق كتابة المعلومات حول زر الضغط على السجل
}
}
برنامج الطبقة العامة
{
العامة ثابت الفراغ الرئيسي ()
{
زر زر = زر جديد();
مسجل مسجل = مسجل جديد ();
// تسجيل طريقة السجل لفئة المسجل كمعالج لحدث النقر على الزر
انقر فوق + = مسجل.سجل;
// يؤدي الضغط على الزر إلى تشغيل حدث النقر
زر.أونكليك();
}
}
في المثال أعلاه ، تحتوي فئة الزر على حدث نقرة يتم تشغيله في طريقة النقر (). تستدعي طريقة النقر () حدث النقر وتمرير نفسه (هذا) كمعلمة "المرسل".
تحتوي فئة المسجل على طريقة السجل ، والتي تعمل كمعالج لحدث النقر. في طريقة السجل ، يتم تحويل المعلمة" المرسل " إلى نوع الزر من أجل الحصول على مصدر الحدث ، ويتم تنفيذ منطق كتابة المعلومات حول الضغط على الزر إلى السجل.
تقوم الطريقة الرئيسية () بإنشاء كائن من فئة الزر وكائن من فئة المسجل. ثم يتم تسجيل طريقة السجل كمعالج لحدث النقر على الزر.
عندما يتم استدعاء طريقة أونكليك() من زر زر ، يحدث حدث نقرة ، ويقوم معالج حدث السجل بتنفيذ منطق الكتابة إلى السجل.
يتيح لك استخدام معلمة" مرسل الكائن " الرجوع إلى مصدر الحدث وتنفيذ الإجراءات المناسبة بناء عليه. هذا مفيد جدا عند العمل مع كائنات متعددة من نفس النوع يمكن أن تؤدي إلى نفس الحدث.
كيفية تحديد نوع المرسل في معالج الأحداث
في ج# ، عند العمل مع الأحداث ، غالبا ما يتم استخدام معلمة المرسل في معالج الأحداث. تمثل هذه المعلمة الكائن الذي تسبب في الحدث. يسمح لمعالج الحدث بتحديد مصدر الحدث والعمل معه.
لتحديد نوع الكائن الموجود في معلمة المرسل ، يجب عليك إرساله إلى النوع المطلوب. للقيام بذلك،يمكنك استخدام المشغل أو المشغل هو.
يقوم عامل التشغيل بإجراء تحويل نوع وإرجاع لاغية إذا فشل التحويل. مثال الاستخدام:
زر زر = المرسل كزر;
إذا (زر != لاغية)
{
// التعامل مع الحدث
}
يتحقق عامل التشغيل من ما إذا كان الكائن من النوع المحدد ويعيد صواب أو خطأ. مثال الاستخدام:
إذا (المرسل هو زر)
{
زر زر = (زر)المرسل;
// التعامل مع الحدث
}
في بعض الأحيان قد تحتاج إلى الوصول إلى خصائص أخرى للكائن الذي تسبب في الحدث. للقيام بذلك ، يجب عليك أولا إجراء تحويل نوع ، ثم الوصول إلى الخصائص الضرورية:
إذا (المرسل هو زر زر)
{
سلسلة زر النص = زر.النص;
// التعامل مع الحدث
}
راقب عن كثب أنواع الكائنات التي من المتوقع استلام الحدث منها لتجنب أخطاء التلبيس. إذا كان الكائن الذي يتوقع منه الحدث يحتوي على واجهة ، فمن المستحسن استخدامه للوصول الأكثر أمانا إلى خصائص وطرق الكائن.
يتيح لك استخدام معلمة المرسل في معالج الأحداث العمل بمرونة مع الكائنات المختلفة التي تؤدي إلى تشغيل الأحداث ومعالجتها وفقا لنوعها أو المعلمات الضرورية الأخرى.
مزايا استخدام مرسل الكائن
في ال ج # لغة البرمجة ، يحدث مرسل كائن الكلمة الرئيسية في سياق معالجة الحدث. تستخدم هذه الكلمة الرئيسية لنقل معلومات حول مرسل الحدث. وبالتالي ، يمكن للكائن الذي يبدأ الحدث تمرير نفسه كوسيطة لطريقة معالجة الحدث.
يحتوي استخدام مرسل الكائن على عدد من المزايا التي تجعله مفيدا في المواقف المختلفة.
تعريف المرسل: باستخدام مرسل الكائن ، يمكنك الحصول على معلومات حول الكائن الذي بدأ الحدث. هذا مفيد بشكل خاص عندما تعالج طريقة واحدة الأحداث من كائنات متعددة. يمكنك استخدام المعلومات التي تتلقاها لتحديد الكائن الذي يتطلب مزيدا من الإجراءات.
المرونة: يسمح لك مرسل الكائن بالعمل مع أنواع مختلفة من الكائنات ، مما يجعل شفرتك أكثر مرونة وقابلة للتطوير بسهولة. بغض النظر عن نوع الكائن ، يمكنك الوصول إلى خصائصه وطرقه باستخدام صب النوع.
تنظيم الكود: يساعدك استخدام مرسل الكائن على تنظيم التعليمات البرمجية بطريقة أكثر منطقية ومفهومة. بدلا من إنشاء طرق معالجة منفصلة لكل كائن ، يمكنك استخدام طريقة واحدة للتعامل مع أحداث متعددة. هذا يقلل من تكرار الكود ويبسط دعمه وتوسيعه.
بشكل عام ، يعد استخدام مرسل الكائن ممارسة برمجة جيدة في ج#. يساعد هذا في جعل التعليمات البرمجية أكثر مرونة ومفهومة وقابلة للتطوير. استخدام مرسل الكائن عندما يكون من المنطقي ، والعمل باستمرار على تحسين التعليمات البرمجية وتنظيمها.
أمثلة على استخدام مرسل الكائن في مشاريع حقيقية
مرسل الكائن هو معلمة تستخدم غالبا في الأحداث في ج#. إنه يمثل كائنا يقوم بتشغيل حدث. تسمح لك هذه المعلمة بتحديد والحصول على معلومات حول مصدر الحدث ، والتي يمكن أن تكون مفيدة عند معالجة الأحداث في المشاريع الحقيقية. لنلق نظرة على بعض الأمثلة لاستخدام مرسل الكائن:
تطبيق نماذج ويندوز:
في تطبيقات نماذج ويندوز ، غالبا ما يستخدم مرسل الكائن للتعامل مع أحداث التحكم مثل الأزرار أو الحقول النصية. على سبيل المثال ، عند النقر فوق زر ، يتم تمرير كائن الزر ، وهو مصدر الحدث ، كمعلمة للمرسل. هذا يجعل من السهل تحديد الزر الذي تم الضغط عليه وتنفيذ الإجراءات المناسبة. على سبيل المثال ، يمكنك تغيير نص أو لون زر ، وتحديث محتويات حقل نص ، وما إلى ذلك.
ASP.NET تطبيق ويب:
- في تطبيقات الويب على أساس آسيا والمحيط الهادئ.صافي ، كائن المرسل يمكن استخدامها للتعامل مع الأحداث السيطرة على صفحة ويب. على سبيل المثال ، عند النقر فوق زر في صفحة ويب ، يتم تمرير كائن الزر ، وهو مصدر الحدث ، كمعلمة للمرسل. يتيح لك ذلك تحديد الزر الذي تم الضغط عليه وتنفيذ الإجراءات المناسبة على جانب الخادم ، على سبيل المثال ، لتحديث المعلومات الموجودة على الصفحة أو للتحقق من البيانات المدخلة.
- مكتبة الصف:
- في مكتبة الفئة ، يمكن استخدام مرسل الكائن للتعامل مع الأحداث التي تحدث عند استخدام الفئات من هذه المكتبة. على سبيل المثال ، إذا كان لديك مكتبة فئة توفر وظائف للعمل مع قاعدة بيانات ، فيمكنك تحديد حدث سيحدث عند تنفيذ إجراء معين ، على سبيل المثال ، عند حفظ البيانات. في هذه الحالة ، يمكن استخدام مرسل الكائن لنقل معلومات حول كائن الاستدعاء أو سياق حفظ البيانات.
- بشكل عام ، مرسل الكائن هو وسيلة عالمية لتحديد والحصول على معلومات حول مصدر حدث في ج#. هذا يجعل من السهل التعامل مع الأحداث وتنفيذ الإجراءات المناسبة بناء على هذه المعلومات في مشاريع مختلفة.
توصيات لاستخدام مرسل الكائن
مرسل الكائن هو معلمة يتم استخدامها في ج # الأحداث. وهو يمثل الكائن الذي تسبب في الحدث. تحتوي معلمة المرسل على نوع بيانات الكائن ، مما يعني أنه يمكن أن يمثل أي نوع من الكائنات.
يعد استخدام مرسل الكائن ممارسة جيدة عند تطوير نماذج الأحداث ، حيث يسمح لك بنقل معلومات حول كائن الاتصال.
فيما يلي بعض التوصيات لاستخدام مرسل الكائن في ج#:
تحقق من نوع الكائن. نظرا لأن الكائن يمكن أن يكون من أي نوع ، فمن المهم التحقق من نوعه قبل استخدامه. يمكنك استخدام عامل التشغيل " هو " أو عامل تحويل النوع للتحقق من نوع الكائن وإجراء العمليات المناسبة.
لا تقم بتعديل كائن المرسل. يجب التعامل مع كائن المرسل على أنه "للقراءة فقط". لا يوصى بتغيير حالة كائن المرسل في معالج الأحداث.
لا تعتمد فقط على مرسل الكائن لتحديد المتصل. على الرغم من أن مرسل الكائن يمكن أن يوفر معلومات حول كائن الاستدعاء ، فقد تكون هناك حاجة في بعض الأحيان إلى معلومات إضافية لتحديد الكائن بالكامل. في مثل هذه الحالات ، يوصى باستخدام معلمات أو خصائص إضافية تحتوي على معلومات حول الكائن.
استخدم تحويل النوع الصريح إذا لزم الأمر. إذا كنت تعرف النوع المحدد لكائن المرسل ، فيمكنك إرساله صراحة إلى هذا النوع للوصول إلى خصائصه وطرقه.
كائن المرسل هو وسيلة مفيدة لتمرير المعلومات حول المتصل إلى معالج الحدث. باتباع هذه التوصيات ، ستتمكن من استخدام مرسل الكائن بكفاءة وأمان عند تطوير التطبيقات في ج#.
سؤال وجواب