פורסם 2009 בנובמבר 316 שנים למה הקומפיילר נותן לי את הודעת השגיאה הזאת: Cannot implicitly convert type 'object' to 'ConsoleApplication4.Color'. An explicit conversion exists (are you missing a cast?) על שורה זו: c = Enum.Parse(typeof(Color), input);התוכנית המלאה:namespace ConsoleApplication4{ enum Color { Red, White, Black } class Program { static void Main(string[] args) { Color c; string input = Console.ReadLine(); c = Enum.Parse(typeof(Color), input); switch (c) { case Color.Red: Console.WriteLine("This is Red Color"); break; case Color.White: Console.WriteLine("This is White Color"); break; case Color.Black: Console.WriteLine("This is Black Color"); break; } Console.ReadLine(); } }}תודה לעוזרים...
פורסם 2009 בנובמבר 316 שנים הוא צריך explicit cast.ככה:c = (ConsoleApplication4.Color)Enum.Parse(typeof(Color), input);Enum.Parse מחזיר אובייקט כללי (פשוט object) וכדי לעבוד איתו צריך להמיר אותו למה שאתה מצפה לקבל, במקרה הזה המחלקה שאתה יצרת.
פורסם 2009 בנובמבר 316 שנים לא, אבל מובטח לך שהטיפוס של ערך ההחזרה באמת יהיה תואם לזה של ה-Enum, ולכן ההמרה בטוחה.http://msdn.microsoft.com/en-us/library/essfb559.aspx
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.