נושא: ביצוע יעיל של קריטריונים
|
|
כותב |
|
NewMan משתמש מתחיל
הצטרף / הצטרפה: 06 May 2011 מדינה: Israel
משתמש: מנותק/ת הודעות: 29
|
נשלח בתאריך: 25 September 2011 בשעה 03:37 | | IP רשוּם
|
|
|
|
שלום לכולם
יש לי תוכנה שמבצעת פעולות על עץ נתונים. כגון מחיקה, הוספה
וכו'. אני מעוניין לאפשר למשתמש להגדיר קריטריונים,
ושהפעולה תתבצע על כל הצמתים שעונים לקריטריון. הגדרת
הקריטריון אמורה להישמר בקובץ, ואמורה להיות ידידותית
למשתמש.
מה הדרך הכי קלה לעשות זאת, ושגם הביצועים יהיו מהירים?
חשבתי לעשות ממשק שיקבל את הקלט מהמשתמש בצורה ידידותית,
ויהפוך אותו לפונקציה בשפת C#. ואז להשתמש במהדר של C#,
להדר ולהפעיל בצורה דינמית. (לאו דווקא C#, פשוט זו השפה
שהתוכנה כתובה בה)
מה אתם אומרים?
יצויין שאני צריך רק אופרטורי השוואה רגילים.
אשמח לרעיונות נוספים.
תודה רבה
|
חזרה לתחילת העמוד |
|
|
shoshan מנהל האתר
הצטרף / הצטרפה: 16 July 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 4637
|
נשלח בתאריך: 25 September 2011 בשעה 08:56 | | IP רשוּם
|
|
|
|
היי, הדרך הכי קלה לעשות את זה היא להגדיר מחלקה אבסטרקטית של פעולה, ליצור מחלקת השוואה שתירש ממנה, מחלקת קטן מ- וכו'..., ושבכל פעולה שהמשתמש מוסיף - תוסיף אובייקט מהמחלקה הזאת למערך פעולות.
השמירה תתבצע ע"י serialization של המערך.
__________________ עד מתי רשעים יעלוזו?
עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
|
חזרה לתחילת העמוד |
|
|
NewMan משתמש מתחיל
הצטרף / הצטרפה: 06 May 2011 מדינה: Israel
משתמש: מנותק/ת הודעות: 29
|
נשלח בתאריך: 25 September 2011 בשעה 15:23 | | IP רשוּם
|
|
|
|
תודה רבה על הרעיון המוצלח! נראה לי שכך אעשה.
לפי דרך זו, האם אוכל להשתמש ישירות באופרטורים המסופקים ע"י
האובייקטים (למשל string, int וכו'), להפעיל אותם ע"י
MethodInfo.Invoke ולשמור את ה MethodInfo בקובץ?
|
חזרה לתחילת העמוד |
|
|
shoshan מנהל האתר
הצטרף / הצטרפה: 16 July 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 4637
|
נשלח בתאריך: 25 September 2011 בשעה 19:13 | | IP רשוּם
|
|
|
|
זאת נשמעת אופציה מעניינת, אם כי לדעתי עדיף לשמור מחלקה שתדע להכיל רשימת פרמטרים ולהפעיל את עצמה על גרף ולא מתודה מאחר ויכול להיות ותזדקק ללוגיקה מורכבת יותר בהמשך (למשל במקום גדול מ- אולי גדול מ-3 ?)
__________________ עד מתי רשעים יעלוזו?
עַל כֵּן אֶמְאַס וְנִחַמְתִּי עַל עָפָר וָאֵפֶר.
|
חזרה לתחילת העמוד |
|
|
NewMan משתמש מתחיל
הצטרף / הצטרפה: 06 May 2011 מדינה: Israel
משתמש: מנותק/ת הודעות: 29
|
נשלח בתאריך: 26 September 2011 בשעה 22:34 | | IP רשוּם
|
|
|
|
המעבר על הגרף מתבצע ע"י פונקציה נפרדת, שמפעילה את פונקציית
הקריטריון על כל צומת וצומת, כמו Predicate. כך אני יכול
לבדוק גם קריטריונים מורכבים יותר.
שוב תודה על המענה המהיר
|
חזרה לתחילת העמוד |
|
|
|
|
אם ברצונך להגיב לנושא זה עליך קודם להתחבר
אם אינך רשום/ה כבר עליך להרשם
|
אינך יכול/ה לשלוח נושאים חדשים בפורום זה אינך יכול/ה להגיב לנושאים בפורום זה אינך יכול/ה למחוק את הודעותיך ותגוביך בפורום זה אינך יכול/ה לערוך את הודעותיך ותגובותיך בפורום זה אינך יכול/ה לצור סקרים בפורום זה אינך יכול/ה להצביע בסקרים בפורום זה
|