/** * @brief 从Xml节点中读取数值类型,使用时,必须在函数中指明数值类型 * 如: int id = ExtractNumeric<int>(xmlNode, "Id", -1, true); * * @param node xml节点 * @param nodeName 节点名字 * @param defualtVal 默认值 * @param isMust 是否强制不能为空 * * @return */ public static T ExtractNumeric <T>(DBC_Row node, string nodeName, T defualtVal, bool isMust) { T result = defualtVal; if (node == null || !node.HasFields || node.SelectFieldByName(nodeName) == null) { return(result); } string nodeText = node.SelectFieldByName(nodeName); if (!CrossEngineHelper.StringIsNullOrEmpty(nodeText)) { try { result = (T)Convert.ChangeType(nodeText, typeof(T)); } catch (System.Exception ex) { string info = string.Format("ExtractNumeric Error node:{0} nodeName:{1} ex:{2} stacktrace:{3}", node.RowIndex, nodeName, ex.Message, ex.StackTrace); LogSystem.Debug(info); CrossEngineHelper.LogCallStack(); } } return(result); }
public static MemoryStream ReadFileAsMemoryStream(string filePath) { try { byte[] buffer = ReadFileAsArray(filePath); if (buffer == null) { LogSystem.Debug("Err ReadFileAsMemoryStream failed:{0}\n", filePath); return(null); } return(new MemoryStream(buffer)); } catch (Exception e) { LogSystem.Debug("Exception:{0}\n", e.Message); CrossEngineHelper.LogCallStack(); return(null); } }
public static bool Exists(string filePath) { try { if (handlerFileExists != null) { return(handlerFileExists(filePath)); } else { LogSystem.Debug("ReadFileByEngine handler have not register: {0}", filePath); return(false); } } catch (Exception e) { LogSystem.Debug("Exception:{0}\n", e.Message); CrossEngineHelper.LogCallStack(); return(false); } }
public static byte[] ReadFileAsArray(string filePath) { byte[] buffer = null; try { if (handlerReadFile != null) { buffer = handlerReadFile(filePath); } else { LogSystem.Debug("ReadFileByEngine handler have not register: {0}", filePath); } } catch (Exception e) { LogSystem.Debug("Exception:{0}\n", e.Message); CrossEngineHelper.LogCallStack(); return(null); } return(buffer); }