using System; using System.IO; using YamlDotNet.Serialization; using System.Collections.Generic; using SHJX.Service.Model.XmlModules; namespace SHJX.Service.Common.ReadXML { public class PipelineConfig { private static PipelineConfig _config; private static readonly object obj_lock = new(); protected string FileName => string.Concat(AppDomain.CurrentDomain.SetupInformation.ApplicationBase, "config/pipeline.config.yaml"); private PipelineConfig() { } public static PipelineConfig Instance { get { if (_config is null) { lock (obj_lock) { _config = new(); } } return _config; } } public List PipelineContents { get { using TextReader reader = File.OpenText(FileName); Deserializer deserializer = new(); PipelineConfigs config = deserializer.Deserialize(reader); return config.PipeContents; } } } }