PDA

View Full Version : با چه شرطی میتونم چک کنم آیا یه کلاس از کلاس دیگه ارث برده یا نه ؟



alasht
یک شنبه 09 بهمن 1390, 15:00 عصر
با سلام خدمت دوستان
فرض کنید من دو تا کلاس دارم
ClassA , ClassB
حالا فرض کنید میخوام چک کنم ببینم آیا کلاس B از A ارث برده یا خیر با چه کدی میشه این کار رو کرد ؟

gwbasic
یک شنبه 09 بهمن 1390, 16:27 عصر
این جور موارد همیشه از Reflection استفاده می شه.


Type typeB = typeof(ClassB);
Type typeA = typeof(ClassA);

if (typeB.IsSubclassOf(typeA))
// Inherited
else
// not Inherited

alasht
یک شنبه 09 بهمن 1390, 16:42 عصر
مرسی از پاسخ شما
من همین الان تو یکی از سایتای خارجی این دستور رو پیدا کردم و جواب هم داد
فرقش با کد شما چیه ؟


if(ClassB is ClassA)
{
// My code
}

mhsmity
یک شنبه 09 بهمن 1390, 17:40 عصر
partial رو چه جوری متوجه بشیم

gwbasic
یک شنبه 09 بهمن 1390, 18:01 عصر
کدو امتحان کردید غلطه! is برای instance استفاده می شه نه برای type در ضمن اگر هم درست می بود منطق غلطی هست. شما runtime می خواید وراثت رو چک کنید اگه compile type این اتفاق باید بیافتد دیگه نیازی به کد نویسی نیست برنامه نویس هر دو کلاس رو داره و می دونه اینها از هم ارث می برند یا خیر!!!

لینک سایت رو بدید چک کنم