Я создаю метод расширения для проверки нулевого datarow с помощью c #, я пытаюсь использовать метод расширения в своем коде веб-формы asp.net, но я сообщаю, что метод IsEmpty в текущем контексте не соответствует приведенному здесь коду. я пытаюсь
public static class IsNullValidator
{
public static bool IsNullEquivalent( this object value)
{
return value == null
|| value is DBNull
|| string.IsNullOrWhiteSpace(value.ToString());
}
public static bool IsEmpty( this DataRow row)
{
return row == null || row.ItemArray.All(i => i.IsNullEquivalent());
}
}
и я называю это так
DataRow[] row =getRowMethod();
if IsEmpty(row){"do some functionality"}
, если я изменил IsEmpty Signature, удалив это ключевое слово ниже, оно работает так:
public static bool IsEmpty( DataRow row)
{
return row == null || row.ItemArray.All(i => i.IsNullEquivalent());
}
if IsEmpty(row[0]){"do some functionality"}
Мне нужно работать с этим расширением, чтобы проверить любой datarow и в будущем, чтобы проверить любой datatable и могу ли я использовать метод ниже для проверки null datatable
public static bool IsEmptyDatatable (DataTable dt)
{
return dt == null || dt.Rows.Cast<DataRow>().Where(r=>r.ItemArray[0]!=null).All(i => i.IsNullEquivalent());
}