/// <summary> /// 错误检查:返回值加强版。 /// 有错误返回是否有错(注意是返回是否有错:true有错,false无错) /// </summary> /// <param name="self"></param> /// <returns>返回元祖,是否有错,无错则返回 false 和 空白字符串</returns> public static (bool haveerror, string info) Checker(this Dictionary <string, Func <bool> > self) { foreach (var item in DataCheckExpand.CheckerYield(self)) { if (item.haveerror) { return(item.haveerror, item.info); } } return(false, string.Empty); }
/// <summary> /// 错误检查简化版,有错误返回错误信息,无错误返回空字符串 /// 缺点是空错误的检查和完结无法区分 /// </summary> /// <param name="self"></param> /// <remarks> /// how to use 如何使用 /// var b = new Book();//注意,b来源外部,检查方法外部存在 /// var c = new Dictionary<string, Func<bool>>() /// { /// ["无数据|no data"] = () => b.IsNull(), /// ["无id|no id"] = () => b.BookID <= 0, /// ["无价格|no price"] = () => b.BookPrice <= 0m /// }; /// var err = c.SimpleChecker(); /// if (err.NotNullEmpty()) /// { /// // return error /// } /// 缺点是空错误的检查和完结无法区分 如 "",func<bool> 这种检查项无法和结果区分, /// </remarks> /// <returns>返回空白字符串string.Empty表示成功通过检查</returns> public static string SimpleChecker(this Dictionary <string, Func <bool> > self) { foreach (var key in DataCheckExpand.SimpleCheckerYield(self)) { if (key.NotNullEmpty()) { return(key); } } return(string.Empty); }