Logo

רד-בורד: ארכיון

ראשי > תיכנות > C#: Reflection.FieldInfo.SetValue

14/12/2006 15:59:05 HLL
אני צריך לעבור שדה שדה באיזה struct ולהוסיף 1 לכל השדות שלו.
השתמשתי ב GetType().GetFields()
ועברתי חבר חבר במערך והוספתי לו 1, כשאני מנסה לעשות SetValue (אחרי Cast מתאים לטיפוס שקיים שמה כמובן) לא נזרק שום חריג, אבל הערך נשאר כמו שהיה, למישהוא יש מושג????

בתודה
HLL
18/12/2006 16:30:57 tal
למה אתה עובד עם struct ולא עם מחלקה רגילה? זה היה הרבה יותר פשוט אם זאת הייתה מחלקה רגילה. שתדע לך אגב שבדוטנט כבר עדיף ליצור מחלקה בעלת משתנים ועל ידי שימוש ב- properties אתה חושף רק את מה שאתה צריך...

בכל מקרה,
אם תציג לנו את הקוד זה יהיה יותר פשוט לעזור לך במידה ועדיין יש לך את הבעייה הזאת.
18/12/2006 19:51:38 HLL
אוקי מצאתי
ואכן הבעיייה שמשום מה אפשר לעשות Get אבל אי אפשר לעשות Set, לסטראקט
בסי++ ההבדל בין מבנה למחלקה כמעט ואינו קיים. לכן לא ראיתי צורך לשנות את זה
אבל כששיניתי מ struct ל class הפלא ופלא הכל עבד ^_^ תודה בכל אופן
18/12/2006 20:03:20 tal
ציטוט:אוקי מצאתי
ואכן הבעיייה שמשום מה אפשר לעשות Get אבל אי אפשר לעשות Set, לסטראקט
בסי++ ההבדל בין מבנה למחלקה כמעט ואינו קיים. לכן לא ראיתי צורך לשנות את זה
אבל כששיניתי מ struct ל class הפלא ופלא הכל עבד ^_^ תודה בכל אופן

כי כנראה ה- property שלו מספק רק getter ולא setter... ולכן ;-)
אבל יופי שהסתדרת..
עמודים: 1