/// <summary> /// 获取Was /// </summary> /// <param name="wdfFileId"></param> /// <param name="wasId"></param> /// <param name="was"></param> /// <returns></returns> public bool TryGetSpWas(string wdfFileId, int wasId, out SpWas was) { try { if (!_wass.TryGetValue(wasId, out was)) { if (!_wdfs.TryGetValue(wdfFileId, out Wdf wdf)) { wdf = new Wdf(wdfFileId, Path.Combine(_wdfPath, wdfFileId)); wdf.Load(); _wdfs[wdfFileId] = wdf; } if (!wdf.TryGetSpWas(wasId, out was)) { Logger.Warn($"Not Fount Was: {wasId}@{wdfFileId}"); return(false); } _wass[wasId] = was; } } catch (Exception e) { Logger.Error($"Error In Get Was: {wasId}@{wdfFileId}", e); was = null; } return(true); }
/// <summary> /// 获取文件中的Was /// </summary> /// <param name="wasId"></param> /// <param name="was"></param> /// <returns></returns> public bool TryGetSpWas(int wasId, out SpWas was) { was = null; if (_wasInfos.TryGetValue(wasId, out WasInfo wasInfo)) { try { was = new SpWas(FileName, wasInfo); was.Load(); return(true); } catch (Exception e) { Logger.Error("TryGetWas : {wasId}", e); } } return(false); }