public static TomlTableArray Clone(this TomlTableArray source) { source.CheckNotNull(nameof(source)); var cloned = new TomlTableArray(source.Root, source.Items.Select(i => i.Clone())); return cloned; }
/// <summary> /// 去除StringBuilder两端的空格 /// </summary> /// <param name="sb">StringBuilder</param> /// <returns>返回修改后的StringBuilder,主要用于链式操作</returns> public static StringBuilder Trim(this StringBuilder sb) { sb.CheckNotNull("sb"); if (sb.Length == 0) return sb; return sb.TrimEnd().TrimStart(); }
/// <summary> /// 初始化WebApi框架 /// </summary> public static IAppBuilder UseWebApiInitialize(this IAppBuilder app, WebApiInitializeOptions options) { app.CheckNotNull("app"); options.CheckNotNull("options"); IFrameworkInitializer initializer = new WebApiFrameworkInitializer(options); initializer.Initialize(); return app; }
public static void CheckStringNotNullOrEmpty(this string obj, string name) { obj.CheckNotNull(name); if (obj.Length == 0) { throw new ArgumentException("String parameter cannot be empty.", name); } }
/// <summary> /// 添加AutoMapper服务映射信息 /// </summary> public static void AddAutoMapperServices(this IServiceCollection services) { services.CheckNotNull("services" ); services.AddSingleton<IMapper, AutoMapperMapper>(); services.AddSingleton<InputDtoTypeFinder>(); services.AddSingleton<EntityTypeFinder>(); services.AddSingleton<OutputDtoTypeFinder>(); services.AddSingleton<IMapTuple, InputDtoEntityMapTuple>(); services.AddSingleton<IMapTuple, EntityOutputDtoMapTuple>(); }
public static TPath BuildTPath(this LambdaExpression expr) { expr.CheckNotNull(nameof(expr)); var exprBody = expr.Body.ToString(); var withoutRootKey = exprBody.Substring(exprBody.IndexOf(".") + 1); var toParse = "/" + withoutRootKey.Replace('.', '/'); return TPath.Parse(toParse); }
/// <summary> /// 添加OAuth服务映射令牌 /// </summary> public static void AddOAuthServices(this IServiceCollection services) { services.CheckNotNull("services"); services.AddSingleton<IOAuthAuthorizationServerProvider, OsharpAuthorizationServerProvider>(); services.AddSingleton<IAuthorizationCodeProvider, OsharpAuthorizationCodeProvider>(); services.AddSingleton<IRefreshTokenProvider, OsharpRefreshTokenProvider>(); services.AddSingleton<IOAuthClientIdProvider, DatetimeOAuthClientIdProvider>(); services.AddSingleton<IOAuthClientSecretProvider, GuidOAuthClientSecretProvider>(); }
/// <summary> /// 去除<see cref="StringBuilder"/>结尾指定字符 /// </summary> /// <param name="sb"></param> /// <param name="c">要去掉的字符</param> /// <returns></returns> public static StringBuilder TrimEnd(this StringBuilder sb, char c) { sb.CheckNotNull("sb"); if (sb.Length == 0) return sb; while (c.Equals(sb[sb.Length - 1])) { sb.Remove(sb.Length - 1, 1); } return sb; }
/// <summary> /// 返回<see cref="StringBuilder"/>从起始位置指定长度的字符串 /// </summary> /// <param name="sb"></param> /// <param name="start">起始位置</param> /// <param name="length">长度</param> /// <returns>字符串</returns> /// <exception cref="OverflowException">超出字符串索引长度异常</exception> public static string SubString(this StringBuilder sb, int start, int length) { sb.CheckNotNull("sb"); if (start + length > sb.Length) throw new IndexOutOfRangeException("超出字符串索引长度"); char[] cs = new char[length]; for (int i = 0; i < length; i++) { cs[i] = sb[start + i]; } return new string(cs); }
internal static MethodInfo GetMethodWithThrowOnError(this Type type, string name, params Type[] types) { type.CheckNotNull(nameof(type)); name.CheckNotNullOrWhitespace(nameof(name)); MethodInfo method = type.GetMethod(name, types); if (method == null) throw new MissingMethodException(type.FullName, name); return method; }
internal static PropertyInfo GetPropertyWithThrowOnError(this Type type, string name, BindingFlags bindingFlags = BindingFlags.Default) { type.CheckNotNull(nameof(type)); name.CheckNotNullOrWhitespace(nameof(name)); PropertyInfo property = bindingFlags == BindingFlags.Default ? type.GetProperty(name) : type.GetProperty(name, bindingFlags); if (property == null) throw new MissingMemberException(type.FullName, name); return property; }
public static string ToDetailedString(this IWebElement element) { element.CheckNotNull(nameof(element)); try { return $@"Tag: {element.TagName} Location: {element.Location} Size: {element.Size} Text: {element.Text.Trim()}"; } catch { return null; } }
/// <summary> /// 去除<see cref="StringBuilder"/>开头的指定的<seealso cref="string"/> /// </summary> /// <param name="sb"></param> /// <param name="str">要去掉的<seealso cref="string"/></param> /// <returns></returns> public static StringBuilder TrimStart(this StringBuilder sb, string str) { sb.CheckNotNull("sb"); if (string.IsNullOrEmpty(str) || sb.Length == 0 || str.Length > sb.Length) return sb; while (sb.SubString(0, str.Length).Equals(str)) { sb.Remove(0, str.Length); if (str.Length>sb.Length) { break; } } return sb; }
public static Enum[] GetIndividualEnumFlags(this Type type) { type.CheckNotNull(nameof(type)); if (type.IsDefined(typeof(FlagsAttribute), false)) { Enum[] allFlags = Enum.GetValues(type).Cast<Enum>().Where(x => Convert.ToDecimal(x) != 0m).ToArray(); List<Enum> individualFlags = new List<Enum>(allFlags.Take(1)); for (int i = 1; i < allFlags.Length; i++) { Enum currentFlag = allFlags[i]; if (allFlags.Take(i).All(x => !currentFlag.HasFlag(x))) individualFlags.Add(currentFlag); } return individualFlags.ToArray(); } else { return Enum.GetValues(type).Cast<Enum>().ToArray(); } }
/// <summary> /// 添加漫道短信功能相关映射信息 /// </summary> public static void AddMdSmsServices(this IServiceCollection services) { services.CheckNotNull("services"); services.AddScoped<ISms, MdSms>(); }
internal static bool IsClassOrNullable(this Type type) { type.CheckNotNull(nameof(type)); return type.IsClass || Nullable.GetUnderlyingType(type) != null; }
public static string ToString(this object value, TermCase termCase) { value.CheckNotNull("value"); return TermResolver.ToString(value, new TermOptions { Case = termCase }); }
public static void AddJPushServices(this IServiceCollection services) { services.CheckNotNull("services"); services.AddScoped<IPush,JPush>(); }
/// <summary> /// 添加容联.云通讯短信功能相关映射信息 /// </summary> public static void AddMdSmsServices(this IServiceCollection services) { services.CheckNotNull("services"); services.AddSingleton<ISms, CcpSms>(); }
public static void CheckNotNull(this object obj) { obj.CheckNotNull(string.Empty); }
/// <summary> /// 添加OAuth服务映射令牌 /// </summary> public static void AddOAuthServices(this IServiceCollection services) { services.CheckNotNull("services" ); services.AddSingleton<IOAuthAuthorizationServerProvider, OsharpAuthorizationServerProvider>(); }
/// <summary> /// 获取程序集的产品版本 /// </summary> public static Version GetProductVersion(this Assembly assembly) { assembly.CheckNotNull("assembly"); FileVersionInfo info = FileVersionInfo.GetVersionInfo(assembly.Location); return new Version(info.ProductVersion); }