using System.Runtime.InteropServices; using System.Text; namespace AmrControl { public class AppHelper { private static IConfiguration _config; public AppHelper(IConfiguration configuration) { _config = configuration; } /// /// 读取指定节点的字符串 /// /// /// public static string ReadAppSettings(params string[] sessions) { try { if (sessions.Any()) { return _config[string.Join(":", sessions)]; } } catch { return ""; } return ""; } /// /// 读取实体信息 /// /// /// /// public static List ReadAppSettings(params string[] session) { List list = new List(); _config.Bind(string.Join(":", session), list); return list; } public static string BytesToString(byte[] array) { if (array == null) return ""; StringBuilder strBuilder = new StringBuilder(); foreach (var item in array) { strBuilder.Append(item.ToString() + " "); } return strBuilder.ToString().TrimEnd(); } public static T BytesToStruct(byte[] array) { if (array == null) return default(T); int size = Marshal.SizeOf(); IntPtr ptr = Marshal.AllocHGlobal(size); if(array.Length <= size) { Marshal.Copy(array,0,ptr,array.Length); } else { Marshal.Copy(array, 0, ptr, size); } T t = Marshal.PtrToStructure(ptr); Marshal.FreeHGlobal(ptr); return t; } } }