פורסם 2012 במרץ 813 שנים יש לי Class שמקבל string ואחד מהמתודות שלו מחזירה Dictionary<string, string>אני רוצה לקבל את התוצאה של המתודה הנ"ל כאשר אני עושה את זה ב-Thread נפרד ולכן רשמתי:כאשר Statistics הוא ה-CLASS שלי ו-getStatistics זו המתודה שמחזירה <Dictionary<string, string> Thread<Dictionary<string, string>> myThread = new Thread<Dictionary<string, string>>( () => { Statistics myClass = new Statistics(path); return myClass.getStatistics(); });ואני מקבל שגיאה שאומרת The non-generic type 'System.Threading.Thread' cannot be used with type argument ואני לא מבין למה ומה זה אומר.עריכה:בסוף הסתדרתי אבל זה לא נראה כאילו הפעולה באמת נפתחת ב-Thread חדש כי כשהיא מחשבת את מה שהיא צריכה (לפעמים זה לוקח כמה שניות) אז בנתיים כל ה-GUI לא מגיב private void showStatistics(string path) { Statistics myClass = new Statistics(path); Thread myThread = new Thread(() => myClass.getIpStatistics()); { foreach (KeyValuePair<string, string> item in myClass.getIpStatistics()) { listBoxIps.Items.Add(item.Key + item.Value + "\n"); } myThread.Start(); } }
פורסם 2012 במרץ 813 שנים לא ברור מה עשית כאן... הת'רד שלך אמור לבצע את myClass.getIpStatistics, אבל אתה גם קורא לפונקציה הזו מחוץ לת'רד, ב-foreach.
פורסם 2012 במרץ 913 שנים מחבר ליצור את ה-CLASS הזה ולקלוט את ה-LIST שהפונקציה שלו מחזירה ב-THREAD נפרדוכמובן שאשמח להסבר קצרצר של למה זו לא הסתדר לי ואיך עושים את זה נכון
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.