PDA

View Full Version : سوال: کار با Event



حامد فراست
چهارشنبه 25 دی 1387, 10:51 صبح
با سلام
کسی از دوستان کار این قطه کد رو میدونه

public event EventHandler FrameRecieved;
private void OnFrameRecieved(EventArgs e)
{
if (FrameRecieved != null)
{
FrameRecieved(this,e);
}
}

با تشکر

حامد فراست
یک شنبه 29 دی 1387, 14:30 عصر
دوستان فقط یه اشاره بککنند کافیه:ناراحت:

mehdi.mousavi
یک شنبه 29 دی 1387, 15:41 عصر
با سلام
کسی از دوستان کار این قطه کد رو میدونه

public event EventHandler FrameRecieved;
private void OnFrameRecieved(EventArgs e)
{
if (FrameRecieved != null)
{
FrameRecieved(this,e);
}
}
با تشکر

سلام.
برنامه نویس اینجا داره یه Event تعریف میکنه تا بشه بیرون از این کلاس، از دریافت یک فریم اطلاع حاصل کرد. مثل Click در Button و ... به این ترتیب کاربر می تونه پس از new کردن کلاس شما، خودش رو برای دریافت این رخداد Subscribe کنه (با استفاده از += Operator).

از طرف دیگه، متود OnFrameReceived برای Fire کردن (یا همون Publish کردن) این Event در کلاس در نظر گرفته شده. (که باید protected و virtual تعریف میشد، تا private) تا امکان اطلاع از رخداد FrameReceived رو برای کلاسهایی که از کلاس شما قراره به ارث برن فراهم کنه.

اینطوری در درون این کلاس، هر وقت برنامه نویس متوجه شد که Frame ای دریافت شده، میتونه تابع OnFrameReceived رو فراخوانی کنه، تا هم کلاسهای به ارث رفته از این رخداد مطلع بشن، و هم کلاسهایی که از بیرون برای دریافت این رخداد Subscribe شدن...

unrealword
شنبه 08 آذر 1393, 11:31 صبح
می شه مثال کامل برای کار این بزارید

RmeXXXXXXXXX
شنبه 08 آذر 1393, 21:43 عصر
نگاهی به وبلاگم:
http://rwejahad.blogfa.com/post/35
کامل توضیحش داده ام در مباحث نماینده ها (delegate)

Mori Bone
شنبه 08 آذر 1393, 21:48 عصر
عزیزان به تاریخ تاپیک هم یه نگاه کنید

unrealword
شنبه 08 آذر 1393, 22:50 عصر
دوست عزیز خدمت شما که این سوال چون تو فروم بود بالا اوردم تا از زدن تایپیک تکراری جلوگیری شود(جهت اطلاع)

دوستان کسی نیست راهنمایی کنه