כסלו

האושר והמהמורות ב-enum

באזהרות בשימוש ב-enum הארנב השחור המקודד מזהיר מפני שימושים ב-enum שעלולים לגרום לשגיאות ריצה.

מה שאהבתי במאמר הזה זה את התגלית שאפשר לבדוק אם string או Int הם איבר ב-enum ע”י המתודהEnum.IsDefined. אפשר להעביר אליה הן את הערך הנומרי, והן מחרוזת הנושאת את שם האיבר, והיא מחזירה אם הוא קיים. לא ידעתי.

הלואי שהיתה דרך קלה *להמיר* מספר או מחרוזת לטיפוס enum. אני משתמשת ב-Enum.Parse, אבל היא כל כך לא אינטואיטיבית (וגם מכריחה לעשות cast! כל כך מעצבן ומיותר!) שאני לא מצליחה לזכור אותה בע”פ, ותמיד צריכה להעתיק אותה מאיפשהו, והיא טובה רק למחרוזות ולא לערכים מספריים. אוף!

Colors myOrange = (Colors)Enum.Parse(typeof(Colors), "Red");

(הדוגמה הזאת לקוחה מ-msdn)

כתבו תגובה

כתובת הדוא"ל שלכם לא תוצג.