目录介绍背景使用代码ContextMgr代码示例CommonHelpers API扩展方法帮助函数和属性介绍JHelpers是一个.NET Standard 2.0库组件可以在任何支持的操作系统上与任何.NET项目无论是Core还是Standard一起使用。它是一个通常有用的方法和功能库可以节省开发人员编写代码来完成这些平凡的任务——或者更糟糕的是有多个版本的方法可以在多个地方编写相同的东西。出于这个原因JHelpers在我的JDAC和JLogger NuGet包中使用。通过搜索NuGet找到该组件Jeff.Jones.JHelpers或直接访问https//www.nuget.org/packages/Jeff.Jones.JHelpers/。背景我发现随着时间的推移正如许多开发人员所做的那样我在多个项目中使用了某些辅助函数和简单的功能。因此我将它们从零开始重写以便不使用为他人编写和拥有的代码合并到库中。然后我通过在另外两个NuGet项目中使用这个库来“吃掉我自己的狗食”可以这么说。CommonHelpers是一个有static方法和扩展的static类。ContextMgr是一个线程安全的单例可用于将数据存储在应用程序中的任何位置、任何线程访问的单个位置。一个典型的用途是存储设置和其他运行时值因此它们的源文件数据库等只需要读取一次。任何可以定义为唯一String名称和任何类型的值或引用类型的东西都可以保留在那里。值作为String键名称必须是唯一的和任何值或引用类型添加作为动态类型加框。ContextMgr没有初始化并且作为单例不使用“new”来创建。实际实例是在代码中的第一个引用上动态创建的。使用代码ContextMgr代码示例Boolean retVal false; ContextMgr.Instance.ContextValues.Add(Computer Name, Environment.MachineName); ContextMgr.Instance.ContextValues.Add(Startup Time, DateTime.Now); IPAddress[] ips Dns.GetHostAddresses(BubbaComputer); ContextMgr.Instance.ContextValues.Add(IP Addresses, ips); dynamic machineName ; retVal ContextMgr.Instance.ContextValues.TryGetValue(Computer Name, out machineName); dynamic startupTime ; retVal ContextMgr.Instance.ContextValues.TryGetValue(Startup Time, out startupTime); dynamic hostAddresses null; retVal ContextMgr.Instance.ContextValues.TryGetValue(IP Addresses, out hostAddresses); // In your application’s shutdown code, I recommend adding this line so the // ContextMgr disposes of its resources without waiting on the .NET garbage collector. ContextMgr.Instance.Dispose();CommonHelpers API这是一个包含许多有用static方法的static类。扩展方法String GetFullExceptionMessage(this Exception ex2Examine, Boolean getDataCollection, Boolean getStackTrace)此Exception对象扩展从父异常和堆栈中的任何异常以及可选的数据集合返回错误消息。该Exception.Data集合用于存储通常记录运行时值或其他重要数据以进行调试的名称——值对。Boolean Contains(this String source, String toCheck, StringComparison strComp)此String对象扩展允许string比较类型以string进行检查。如果toCheck string在string源代码中则扩展方法返回true否则返回false。Int32 ContainsHowMany(this String source, String toCheck, Boolean ignoreCase false)此String对象扩展获取给定string在另一个string内发生的次数。扩展方法返回Count的0到n发生。Boolean ConvertToBoolean(this String valueToExamine, out Boolean isBoolean)此String对象扩展将string假设为可转换的格式转换为布尔值。识别为true不区分大小写true, on, yes, up, ok, good, 1, -1。识别为false不区分大小写false, off, no, down, not ok, bad, 0。如果转换失败则返回false。检查isBoolean值以查看转换是否检测到布尔值。如果是false则不转换该值。Boolean IsBoolean(this String valueToExamine)此String对象扩展测试一个string假定其为可以转换的格式为一个布尔值。识别为true不区分大小写true, on, yes, up, ok, good, start, 1, -1。识别为false不区分大小写false, off, no, down, not ok, bad, stop, 0。如果转换失败则返回false。否则返回true。Boolean IsOnlyDigits(this String testString, Boolean includePeriod false)此String对象扩展检查所有字符是否为数字。转换函数测试到数字可能会将字母转换为十六进制值。如果将唯一的一个期间视为一个数字则includePeriod设置为true以便正确处理十进制数string。String GetOnlyDigits(this String testString, Boolean includePeriod false)此String对象扩展获取string中的所有数字并忽略任何非数字。如果includePeriod是true那么string结果中将包含第一个字符。String GetOnlyLetters(this String testString, Boolean includeSpace false)此String对象扩展获取string中的所有字母并忽略任何非字母。但是如果includeSpace是true则找到的任何空格都包含在返回值中。String GetOnlyLettersAndDigits(this String testString, BooleanincludePeriodAndSpace false)这个String对象扩展获得string中的所有字母和数字而忽略一切但当includePeriodAndSpace是true时句点和空格除外。Boolean IsOnlyLetters(this String testString, Boolean includeSpace false)此String对象扩展检查所有字符是否为字母。如果includeSpace是true则接受空格就好像它们是字母一样。Boolean IsOnlyLettersAndOrDigits(this String testString, Boolean includePeriodAndSpace false)此String对象扩展检查所有字符仅为字母和数字。如果includePeriodAndSpace是true那么所有句号和空格都被视为字母。Boolean IsEmailFormat(this String email)此String对象扩展检查string以查看它是否是有效的电子邮件格式。它不会检查它是否是有效的、可用的电子邮件。DateTime GetDateTime(this String dateString, DateTime dateDefault)此String对象扩展名转换string为date或返回默认时间值。Decimal GetDecimal(this String numberString, Decimal decimalDefault)此String对象扩展名将转换string为十进制值或返回默认值。Int32 GetInt32(this String numberString, Int32 integerDefault)此String对象扩展转换string为Int32值或返回默认值。Int64 GetInt64(this String numberString, Int64 integerDefault)此String对象扩展转换string为Int64值或返回默认值。Object GetDefaultValue(this Type t)通用扩展方法返回类型的默认值如果存在。这在defaultT可能不起作用的泛型实例中很有用。帮助函数和属性枚举DistanceUnitsOfMeasureEnum Unassigned Miles Kilometers Feet Meters这与地理位置一起使用以指定距离的测量单位。类AddressGeoData Double Latitude1 Double Longitude1 Double Altitude1 Double Latitude2 Double Longitude2 Double Altitude2 Double LinearDistance (value is calculated, read-only) DistanceUnitsOfMeasureEnum UnitsOfMeasure类构造函数AddressGeoData(Double pLatitude1, Double pLongitude1, Double pAltitude1, Double pLatitude2, Double pLongitude2, Double pAltitude2, DistanceUnitsOfMeasureEnum pUnitsOfMeasure)分类方法void SetUnitsOfMeasure(DistanceUnitsOfMeasureEnum lngUnitsOfMeasure)指定在此类实例化期间使用的测量单位。void SetLinearDistance(Double dDistance)此类用于存储指定纬度经度和海拔高度的两个地理位置。测量单位确定与LinearDistance值对应的单位。如果不知道或不需要海拔高度可为0。String RowDelimiter (Get only)此值可应用于常量的值。RowDelimiter是与电传打字机和其他设备中使用的非可打印ASCII字符相同用于表示新行并且不太可能在string数据中看到。String ColumnDelimiter (Get only)此值可应用于常量的值。ColumnDelimiter是与电传打字机和其他设备中使用的非可打印ASCII字符相同用于表示新列并且不太可能在string数据中看到。String TableDelimiter (Get only)此值可应用于常量的值。TableDelimiter是与电传打字机和其他设备中使用的非可打印ASCII字符相同用于指示新的数据表并且不太可能在string数据中看到。String FullComputerName (Get only)获取DNS将在任何域中识别的完整计算机名称。String GetDNSName(String pComputerName )获取给定计算机名称的DNS主机条目表名称。传入任何计算机名称。如果留空或null将使用当前计算机名称。String CurDir (Get/Set)获取或设置当前工作目录的标准路径。对于服务当前目录通过常规方式显示WindowsSystem32目录因为该服务在位于那里的EXE下运行。此属性通过使用一个方法调用在IDE中运行另一个用于运行已编译的方法来解决这个问题。Boolean AmIRunningInTheIDE (Get only)如果此项目或任何将此组件作为已编译代码调用的项目在IDE下运行则此方法将返回true。如果没有使用IDE则此方法返回false。Boolean IsInDomain()如果运行代码的计算机是一个域则返回true。如果不是则返回False。String GetComputerDomainName()返回计算机加入的域。注意如果用户以本地帐户登录则仍会返回计算机域。如果已加入则返回带有域名的String;如果不是则返回空String。String GetFullComputerDomainName()返回完整的域名而不是别名。Boolean IsDaylightSavingsTime(DateTime dtmToTest)如果提供的datetime在夏令时期间内则为True。Boolean IsDaylightSavingsTime()如果它是目前的夏令时则返回True。String CurrentTimeZoneDaylightName (Get only)夏令时的当前时区名称。String CurrentTimeZoneName (Get only)无论夏令时如何当前时区的名称。Int32 Asc(String strChar)与VB6 ASC函数相同——给它一个字符返回ASCIII十进制数。String Hex(Int32 lngValue)与VB6函数相同。将32位整数转换为String hex值。Int32 GetCurrentCPUUsage()获取当前的处理器时间。Int32 AvailableRAMinMB()返回可用的RAM MB。PingReply Ping(String strHostName, Int32 lngTimeout)同步ping指定的服务器。返回指示操作是否成功的PingReply实例。void GetLinearDistances(ref ListAddressGeoData objAddressList)此函数使用Haversine公式计算两组纬度和经度之间的线性距离并根据纬度调整地球的半径。使用Haversine代替Vincenty的公式以保持计算更简单减少处理器密集度。此函数接受地址数据实例列表并处理它们更新List线性距离属性中的各个类实例。Double GetLinearDistance(double Latitude1, double Longitude1, double Altitude1, double Latitude2, double Longitude2, double Altitude2, DistanceUnitsOfMeasureEnum lngUnitsOfMeasure)此函数使用Haversine公式计算两组纬度和经度之间的线性距离并根据纬度调整地球的半径。使用Haversine代替Vincenty的公式以保持计算更简单减少处理器密集度。此重载允许调用者指定返回值所需的测量单位。Double GetLinearDistance(Double Latitude1, Double Longitude1, Double Altitude1, Double Latitude2, Double Longitude2, Double Altitude2, Boolean UseMiles)此函数使用Haversine公式计算两组纬度和经度之间的线性距离并根据纬度调整地球的半径。使用Haversine代替Vincenty的公式以保持计算更简单减少处理器密集度。此重载允许用户在英里和公里UseMiles参数之间进行选择Double GetLinearDistance(Double Latitude1, Double Longitude1, Double Latitude2, Double Longitude2, DistanceUnitsOfMeasureEnum UnitsOfMeasure)此函数使用Haversine公式计算两组纬度和经度之间的线性距离但不提供高度所有计算假定在海平面上的地球曲线上是线性的并根据纬度调整地球半径。使用Haversine代替Vincenty的公式以保持计算更简单减少处理器密集度。此重载允许用户选择什么测量单位。Double RadianToDegree(Double Coordinate)将弧度转换为度数。Double CelciusToFahrenheit(Double DegC)将摄氏温度转换为华氏温度。Double FahrenheitToCelsius(Double DegF)将华氏温度转换为摄氏温度。String StringToBase64(String String2Convert)转换String为Base64。String Base64ToString(String ByteString64)转换Base64String为String。ListManagementObject GetNetworkPrinters()获取使用List对象中每个打印机一个ManagementObject实例的网络打印机列表。void SetIntBitValue(ref Int32 intValue, Int32 bitPlaceValue, Boolean setBitOn)Helper方法设置Int开/关的位值。Boolean GetIntBitValue(Int32 intValue, Int32 bitPlaceValue)Helper方法获取一个Int位值的状态。String GetStackInfo()这将在String中获取模块函数行号和列号信息。在记录和创建异常以准确定义发生的位置时这非常有用。String GetStackInfo(Exception ex)这将根据异常获取String中的模块函数行号和列号信息。在记录和创建异常以准确定义发生的位置时这非常有用。String GetFullDateTimeStampForFileName(DateTime dtmDate)这将返回一个文件名的datetime格式一致的String。Boolean IsFileText(out Encoding lngEncoding, String strFileName, Int32 lngNumCharactersToRead)检测文件是否为文本并检测编码。Int32 GetTotalHDDFreeSpace(String pDriveName)返回可用磁盘空间的MB。Int32 GetTotalHDDSize(String pDriveName)返回总空间的MB。Int32 GetMinPasswordLength()返回域中的最小密码长度如果存在。如果不存在域则返回-1。Boolean IsIPAddress(String pValue, out IPAddress pIPValue)检查一个string是IPv4还是IPv6地址并返回IPAddress对象作为out参数。String AssemblyTitle (Get only).NET程序集的标题。String AssemblyVersion (Get only).NET程序集的版本。String AssemblyDescription (Get only).NET程序集的说明。String AssemblyProduct (Get only).NET程序集的产品说明。String AssemblyCopyright (Get only).NET程序集使用的版权string。String AssemblyCompany (Get only)拥有.NET程序集的公司。Boolean WriteToLog(String logFileName, String mainMessage, String secondMessage)执行日志写入的方法其中文件以制表符分隔并具有列标题行。
JHelpers——一个善良忠实的仆人
目录介绍背景使用代码ContextMgr代码示例CommonHelpers API扩展方法帮助函数和属性介绍JHelpers是一个.NET Standard 2.0库组件可以在任何支持的操作系统上与任何.NET项目无论是Core还是Standard一起使用。它是一个通常有用的方法和功能库可以节省开发人员编写代码来完成这些平凡的任务——或者更糟糕的是有多个版本的方法可以在多个地方编写相同的东西。出于这个原因JHelpers在我的JDAC和JLogger NuGet包中使用。通过搜索NuGet找到该组件Jeff.Jones.JHelpers或直接访问https//www.nuget.org/packages/Jeff.Jones.JHelpers/。背景我发现随着时间的推移正如许多开发人员所做的那样我在多个项目中使用了某些辅助函数和简单的功能。因此我将它们从零开始重写以便不使用为他人编写和拥有的代码合并到库中。然后我通过在另外两个NuGet项目中使用这个库来“吃掉我自己的狗食”可以这么说。CommonHelpers是一个有static方法和扩展的static类。ContextMgr是一个线程安全的单例可用于将数据存储在应用程序中的任何位置、任何线程访问的单个位置。一个典型的用途是存储设置和其他运行时值因此它们的源文件数据库等只需要读取一次。任何可以定义为唯一String名称和任何类型的值或引用类型的东西都可以保留在那里。值作为String键名称必须是唯一的和任何值或引用类型添加作为动态类型加框。ContextMgr没有初始化并且作为单例不使用“new”来创建。实际实例是在代码中的第一个引用上动态创建的。使用代码ContextMgr代码示例Boolean retVal false; ContextMgr.Instance.ContextValues.Add(Computer Name, Environment.MachineName); ContextMgr.Instance.ContextValues.Add(Startup Time, DateTime.Now); IPAddress[] ips Dns.GetHostAddresses(BubbaComputer); ContextMgr.Instance.ContextValues.Add(IP Addresses, ips); dynamic machineName ; retVal ContextMgr.Instance.ContextValues.TryGetValue(Computer Name, out machineName); dynamic startupTime ; retVal ContextMgr.Instance.ContextValues.TryGetValue(Startup Time, out startupTime); dynamic hostAddresses null; retVal ContextMgr.Instance.ContextValues.TryGetValue(IP Addresses, out hostAddresses); // In your application’s shutdown code, I recommend adding this line so the // ContextMgr disposes of its resources without waiting on the .NET garbage collector. ContextMgr.Instance.Dispose();CommonHelpers API这是一个包含许多有用static方法的static类。扩展方法String GetFullExceptionMessage(this Exception ex2Examine, Boolean getDataCollection, Boolean getStackTrace)此Exception对象扩展从父异常和堆栈中的任何异常以及可选的数据集合返回错误消息。该Exception.Data集合用于存储通常记录运行时值或其他重要数据以进行调试的名称——值对。Boolean Contains(this String source, String toCheck, StringComparison strComp)此String对象扩展允许string比较类型以string进行检查。如果toCheck string在string源代码中则扩展方法返回true否则返回false。Int32 ContainsHowMany(this String source, String toCheck, Boolean ignoreCase false)此String对象扩展获取给定string在另一个string内发生的次数。扩展方法返回Count的0到n发生。Boolean ConvertToBoolean(this String valueToExamine, out Boolean isBoolean)此String对象扩展将string假设为可转换的格式转换为布尔值。识别为true不区分大小写true, on, yes, up, ok, good, 1, -1。识别为false不区分大小写false, off, no, down, not ok, bad, 0。如果转换失败则返回false。检查isBoolean值以查看转换是否检测到布尔值。如果是false则不转换该值。Boolean IsBoolean(this String valueToExamine)此String对象扩展测试一个string假定其为可以转换的格式为一个布尔值。识别为true不区分大小写true, on, yes, up, ok, good, start, 1, -1。识别为false不区分大小写false, off, no, down, not ok, bad, stop, 0。如果转换失败则返回false。否则返回true。Boolean IsOnlyDigits(this String testString, Boolean includePeriod false)此String对象扩展检查所有字符是否为数字。转换函数测试到数字可能会将字母转换为十六进制值。如果将唯一的一个期间视为一个数字则includePeriod设置为true以便正确处理十进制数string。String GetOnlyDigits(this String testString, Boolean includePeriod false)此String对象扩展获取string中的所有数字并忽略任何非数字。如果includePeriod是true那么string结果中将包含第一个字符。String GetOnlyLetters(this String testString, Boolean includeSpace false)此String对象扩展获取string中的所有字母并忽略任何非字母。但是如果includeSpace是true则找到的任何空格都包含在返回值中。String GetOnlyLettersAndDigits(this String testString, BooleanincludePeriodAndSpace false)这个String对象扩展获得string中的所有字母和数字而忽略一切但当includePeriodAndSpace是true时句点和空格除外。Boolean IsOnlyLetters(this String testString, Boolean includeSpace false)此String对象扩展检查所有字符是否为字母。如果includeSpace是true则接受空格就好像它们是字母一样。Boolean IsOnlyLettersAndOrDigits(this String testString, Boolean includePeriodAndSpace false)此String对象扩展检查所有字符仅为字母和数字。如果includePeriodAndSpace是true那么所有句号和空格都被视为字母。Boolean IsEmailFormat(this String email)此String对象扩展检查string以查看它是否是有效的电子邮件格式。它不会检查它是否是有效的、可用的电子邮件。DateTime GetDateTime(this String dateString, DateTime dateDefault)此String对象扩展名转换string为date或返回默认时间值。Decimal GetDecimal(this String numberString, Decimal decimalDefault)此String对象扩展名将转换string为十进制值或返回默认值。Int32 GetInt32(this String numberString, Int32 integerDefault)此String对象扩展转换string为Int32值或返回默认值。Int64 GetInt64(this String numberString, Int64 integerDefault)此String对象扩展转换string为Int64值或返回默认值。Object GetDefaultValue(this Type t)通用扩展方法返回类型的默认值如果存在。这在defaultT可能不起作用的泛型实例中很有用。帮助函数和属性枚举DistanceUnitsOfMeasureEnum Unassigned Miles Kilometers Feet Meters这与地理位置一起使用以指定距离的测量单位。类AddressGeoData Double Latitude1 Double Longitude1 Double Altitude1 Double Latitude2 Double Longitude2 Double Altitude2 Double LinearDistance (value is calculated, read-only) DistanceUnitsOfMeasureEnum UnitsOfMeasure类构造函数AddressGeoData(Double pLatitude1, Double pLongitude1, Double pAltitude1, Double pLatitude2, Double pLongitude2, Double pAltitude2, DistanceUnitsOfMeasureEnum pUnitsOfMeasure)分类方法void SetUnitsOfMeasure(DistanceUnitsOfMeasureEnum lngUnitsOfMeasure)指定在此类实例化期间使用的测量单位。void SetLinearDistance(Double dDistance)此类用于存储指定纬度经度和海拔高度的两个地理位置。测量单位确定与LinearDistance值对应的单位。如果不知道或不需要海拔高度可为0。String RowDelimiter (Get only)此值可应用于常量的值。RowDelimiter是与电传打字机和其他设备中使用的非可打印ASCII字符相同用于表示新行并且不太可能在string数据中看到。String ColumnDelimiter (Get only)此值可应用于常量的值。ColumnDelimiter是与电传打字机和其他设备中使用的非可打印ASCII字符相同用于表示新列并且不太可能在string数据中看到。String TableDelimiter (Get only)此值可应用于常量的值。TableDelimiter是与电传打字机和其他设备中使用的非可打印ASCII字符相同用于指示新的数据表并且不太可能在string数据中看到。String FullComputerName (Get only)获取DNS将在任何域中识别的完整计算机名称。String GetDNSName(String pComputerName )获取给定计算机名称的DNS主机条目表名称。传入任何计算机名称。如果留空或null将使用当前计算机名称。String CurDir (Get/Set)获取或设置当前工作目录的标准路径。对于服务当前目录通过常规方式显示WindowsSystem32目录因为该服务在位于那里的EXE下运行。此属性通过使用一个方法调用在IDE中运行另一个用于运行已编译的方法来解决这个问题。Boolean AmIRunningInTheIDE (Get only)如果此项目或任何将此组件作为已编译代码调用的项目在IDE下运行则此方法将返回true。如果没有使用IDE则此方法返回false。Boolean IsInDomain()如果运行代码的计算机是一个域则返回true。如果不是则返回False。String GetComputerDomainName()返回计算机加入的域。注意如果用户以本地帐户登录则仍会返回计算机域。如果已加入则返回带有域名的String;如果不是则返回空String。String GetFullComputerDomainName()返回完整的域名而不是别名。Boolean IsDaylightSavingsTime(DateTime dtmToTest)如果提供的datetime在夏令时期间内则为True。Boolean IsDaylightSavingsTime()如果它是目前的夏令时则返回True。String CurrentTimeZoneDaylightName (Get only)夏令时的当前时区名称。String CurrentTimeZoneName (Get only)无论夏令时如何当前时区的名称。Int32 Asc(String strChar)与VB6 ASC函数相同——给它一个字符返回ASCIII十进制数。String Hex(Int32 lngValue)与VB6函数相同。将32位整数转换为String hex值。Int32 GetCurrentCPUUsage()获取当前的处理器时间。Int32 AvailableRAMinMB()返回可用的RAM MB。PingReply Ping(String strHostName, Int32 lngTimeout)同步ping指定的服务器。返回指示操作是否成功的PingReply实例。void GetLinearDistances(ref ListAddressGeoData objAddressList)此函数使用Haversine公式计算两组纬度和经度之间的线性距离并根据纬度调整地球的半径。使用Haversine代替Vincenty的公式以保持计算更简单减少处理器密集度。此函数接受地址数据实例列表并处理它们更新List线性距离属性中的各个类实例。Double GetLinearDistance(double Latitude1, double Longitude1, double Altitude1, double Latitude2, double Longitude2, double Altitude2, DistanceUnitsOfMeasureEnum lngUnitsOfMeasure)此函数使用Haversine公式计算两组纬度和经度之间的线性距离并根据纬度调整地球的半径。使用Haversine代替Vincenty的公式以保持计算更简单减少处理器密集度。此重载允许调用者指定返回值所需的测量单位。Double GetLinearDistance(Double Latitude1, Double Longitude1, Double Altitude1, Double Latitude2, Double Longitude2, Double Altitude2, Boolean UseMiles)此函数使用Haversine公式计算两组纬度和经度之间的线性距离并根据纬度调整地球的半径。使用Haversine代替Vincenty的公式以保持计算更简单减少处理器密集度。此重载允许用户在英里和公里UseMiles参数之间进行选择Double GetLinearDistance(Double Latitude1, Double Longitude1, Double Latitude2, Double Longitude2, DistanceUnitsOfMeasureEnum UnitsOfMeasure)此函数使用Haversine公式计算两组纬度和经度之间的线性距离但不提供高度所有计算假定在海平面上的地球曲线上是线性的并根据纬度调整地球半径。使用Haversine代替Vincenty的公式以保持计算更简单减少处理器密集度。此重载允许用户选择什么测量单位。Double RadianToDegree(Double Coordinate)将弧度转换为度数。Double CelciusToFahrenheit(Double DegC)将摄氏温度转换为华氏温度。Double FahrenheitToCelsius(Double DegF)将华氏温度转换为摄氏温度。String StringToBase64(String String2Convert)转换String为Base64。String Base64ToString(String ByteString64)转换Base64String为String。ListManagementObject GetNetworkPrinters()获取使用List对象中每个打印机一个ManagementObject实例的网络打印机列表。void SetIntBitValue(ref Int32 intValue, Int32 bitPlaceValue, Boolean setBitOn)Helper方法设置Int开/关的位值。Boolean GetIntBitValue(Int32 intValue, Int32 bitPlaceValue)Helper方法获取一个Int位值的状态。String GetStackInfo()这将在String中获取模块函数行号和列号信息。在记录和创建异常以准确定义发生的位置时这非常有用。String GetStackInfo(Exception ex)这将根据异常获取String中的模块函数行号和列号信息。在记录和创建异常以准确定义发生的位置时这非常有用。String GetFullDateTimeStampForFileName(DateTime dtmDate)这将返回一个文件名的datetime格式一致的String。Boolean IsFileText(out Encoding lngEncoding, String strFileName, Int32 lngNumCharactersToRead)检测文件是否为文本并检测编码。Int32 GetTotalHDDFreeSpace(String pDriveName)返回可用磁盘空间的MB。Int32 GetTotalHDDSize(String pDriveName)返回总空间的MB。Int32 GetMinPasswordLength()返回域中的最小密码长度如果存在。如果不存在域则返回-1。Boolean IsIPAddress(String pValue, out IPAddress pIPValue)检查一个string是IPv4还是IPv6地址并返回IPAddress对象作为out参数。String AssemblyTitle (Get only).NET程序集的标题。String AssemblyVersion (Get only).NET程序集的版本。String AssemblyDescription (Get only).NET程序集的说明。String AssemblyProduct (Get only).NET程序集的产品说明。String AssemblyCopyright (Get only).NET程序集使用的版权string。String AssemblyCompany (Get only)拥有.NET程序集的公司。Boolean WriteToLog(String logFileName, String mainMessage, String secondMessage)执行日志写入的方法其中文件以制表符分隔并具有列标题行。