Developers.org.il :: אתר המפתחים הישראלי





הרחבה / צמצום

קריאה למתודה של מחלקה גנרית ללא ידיעת סוג T

לחץ לצפייה ב-RSS...
כותב הודעה
 נשלח 10/03/2010 01:37:44
Newbie Member

Newbie Member

קבוצה: מפתחים רשומים
כניסה אחרונה: 18/04/2010 00:05:42
הודעות: 15, ביקורים: 22
הערה: אני משתמש בסוגריים במקום סוגריים משולשות מכיוון שהאתר לא תומך.

יש לי מחלקה גנרית שתומכת במתודה הסטטית sf.
המתודה הסטטית sf עוברת דרך Reflection על Attributes בתוך T (ה-Type הגנרי) ומבצעת פעולות בהתאם לAttributes.
ככה שלמרות שהיא סטטית, הסוג של T משחק פה תפקיד.

התוצאה של:
קטע קוד

GenericClass(ClassA).sf();

בכלל לא דומה ל:
קטע קוד

GenericClass(ClassB).sf();


עד פה אין שום בעיה...
הבעיה צצה כשיש לי אובייקט מסוג אובייקט שלמעשה רק בעזרת Reflection ניתן לדעת את הסוג המדוייק שלו.
אבל אני לא יכול לבצע:
GenericClass(typeof(myObj)).sf();

יש לי שתי שאלות:
1. למה?
2. איך בכל זאת אפשר?


נערך: 10/03/2010 01:38:46 ע"י eharshosh
הודעה #9637
 נשלח 10/03/2010 12:29:20
Newbie Member

Newbie Member

קבוצה: מפתחים רשומים
כניסה אחרונה: 10/03/2010 12:27:26
הודעות: 14, ביקורים: 16
מהי הסיטואציה המדוייקת? האם בטוח שרק בעזרת Reflection ניתן לדעת מהו הסוג? (ולא משהו פשוט, כמו TypeOf או Is)
הודעה #9638
 נשלח 10/03/2010 14:42:03
Newbie Member

Newbie Member

קבוצה: מפתחים רשומים
כניסה אחרונה: 18/04/2010 00:05:42
הודעות: 15, ביקורים: 22
אפשר לדעת בעזרת typeof...

הבעיה היא שיש לי הרבה מחלקות ואני לא רוצה לעשות בדיקה כל פעם.

למען האמת, אני צריך לקבל אובייקט, לבצע עליו את הפעולה ולהחזיר אותו כאובייקט מסוג אובייקט ככה שאני רוצה לעשות את זה בצורה גנרית.

נערך: 10/03/2010 14:43:47 ע"י eharshosh

הודעה #9639



הרחבה / צמצום

אשכולות דומים...

לחץ לצפייה ב-RSS...

הרחבה / צמצום

צופים באשכול