PDA

View Full Version : چرا delegate عضوی از یک class نیست؟



shr6557
یک شنبه 04 آذر 1386, 20:59 عصر
سلام
من یک delegate رو در یک class تعریف می کنم ، ولی چیزی که باعث تعجب من شده این هست که چرا وقتی NET. کلاسه منو به صورت نموداری نشون می ده delegate رو عضو از کلاسه من نشون نمیده ؟
دلیل این امر چیه؟!

PC2st
دوشنبه 05 آذر 1386, 00:18 صبح
برخلاف field و property و method که اعضای یک کلاس هستند، یک delegate خود یک کلاس است یا بعبارت بهتر، delegate یک نوع داده است.
delegate در واقع کلاسی است که از کلاس MulticastDelegate به ارث رسیده و برخلاف field و property و method محدود به عضویت یک کلاس نیست ولی میتواند در داخل کلاس دیگری تعریف شود (بعنوان Nested Type).