String extension - IsNullOrEmpty - ToEnum (Enum.Parse)
אני משתמש די בקביעות עם שני extensions ל - string, וחשבתי לשתף אותם.
הראשון: בדיקה האם מחרוזת אינה null או ריקה בדרך כלל מתבצעת בצורה הבאה
string str;
if (!string.IsNullOrEmpty(str))
{
}
היה הרבה יותר נחמד לולא היינו יכולים לשאול על ה - str - אבל מה לעשות שאולי ה - str הינו null (וזה שאלה מכשילה).
השני: המרה ממחרוזת ל - enum מתבצעת בדרך כלל ככה:
enum NyEnum
{
One,
Two
}
NyEnum data = (NyEnum)Enum.Parse(typeof(NyEnum), "One");
ולכן כתבתי את המחלקה הבאה:
namespace System
{
public static class StringExtension
{
public static bool IsNullOrEmpty(this string value)
{
return string.IsNullOrEmpty(value);
}
public static T ToEnum<T>(this string value) where T : struct
{
return (T)Enum.Parse(typeof(T), value);
}
}
}
הסיבה שבחרתי להשתמש ב - namespace של System - היא כדי שבכל האפליקציה שלי יהיה לי את התוספת ל - string ללא צורך לעשות using מיוחד בכל קובץ.
כעת לבדוק האם יש ערך במחרוזת יראה כך:
string str;
if (!str.IsNullOrEmpty())
{
}
ולהמיר ל - enum יראה כך:
MyEnum data = "One".ToEnum<MyEnum>();
והקוד שלנו יהיה הרבה יותר קריא.