Я добавляю новый метод extension для проверки null
значение для любого объекта по следующим критериям:
IsNull() продление для проверки нулевого значения для любого объекта
- Если вернуться
true
если значениеclass object
являетсяnull
- Должен возвращаться
true
, если объект имеет типstring
и имеет значениеnull
orEmpty
- Должно возвращать
true
, если объект имеет типDateTime
и имеющийMin value
. - Любое другое условие
null
нужно проверить (Пожалуйста, укажите, если требуется.)
Вот IsNull()
метод продление:.
public static bool IsNull(this object obj)
{
if (obj == null || obj == DBNull.Value)
return true;
if (obj.GetType() == typeof(string))
return string.IsNullOrEmpty(obj.ToString());
if (obj.GetType() == typeof(DateTime))
{
DateTime _dateValue = DateTime.MinValue;
if (DateTime.TryParse(obj.ToString(), out _dateValue) && _dateValue == DateTime.MinValue)
return true;
}
return false;
}
Теперь мой вопрос:
- Должен ли я добавить проверку по-другому для значения и ссылочного типа объект?
- Этот метод расширения обрабатывает все типы
null
для любого объекта ? - Любые предложения или улучшения необходимо добавить в расширение?
Я не понимаю. Вы пишете расширение, и вам нужно, чтобы мы сказали вам, что он должен делать? Так почему вы его пишете? И кстати. 'string.Empty' - пустая строка, а не' null', 'DateTime.Min! = null'. Я действительно не понимаю, зачем вам нужен такой метод. – MarcinJuraszek
Если вам нужны методы расширения, которые действуют по-разному на основе типа, напишите методы расширения на * те типы *. –
Для обзора кода goto http://codereview.stackexchange.com/ –