private static bool?GetBoolean(object obj) { if (obj is string str && StringBooleanDeterminer.Is(str)) { return(StringBooleanDeterminer.To(str)); } return(GlobalBooleanVerbaManager.Determining(obj.ToString()?.Trim().ToLower())); }
/// <summary> /// To /// </summary> /// <param name="text"></param> /// <param name="defaultVal"></param> /// <returns></returns> public static bool To( string text, bool defaultVal = default) { if (string.IsNullOrWhiteSpace(text)) { return(defaultVal); } return(bool.TryParse(text, out var boolean) ? boolean : GlobalBooleanVerbaManager.TryDetermining(text, out boolean) ? boolean : ValueConverter.ToXxxAgain(text, defaultVal)); }
/// <summary> /// Is /// </summary> /// <param name="text"></param> /// <param name="matchedCallback"></param> /// <returns></returns> public static bool Is( string text, Action <bool> matchedCallback = null) { if (string.IsNullOrWhiteSpace(text)) { return(false); } return(bool.TryParse(text, out var boolean) .Or(() => GlobalBooleanVerbaManager.MayBeDetermined(text)) .IfFalseThenInvoke(ValueDeterminer.IsXxxAgain <bool>, text) .IfTrueThenInvoke(matchedCallback, boolean)); }
private static bool?GetBoolean(object obj) { return(GlobalBooleanVerbaManager.Determining(obj.ToString().Trim().ToLower())); }