Beispiel #1
0
        /// <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);
        }
Beispiel #2
0
Datei: Wdf.cs Projekt: dp9u0/mhxy
        /// <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);
        }