using System.Collections.Concurrent; namespace YLErp.QdpModule { public class QdpMarketManager { private QdpMarketManager() { _prebuiltProxies = new ConcurrentDictionary(); } public PrebuiltQdpMarketProxy GetPrebuiltMarketProxy(string userId) { return _prebuiltProxies.GetOrAdd(userId, key => new PrebuiltQdpMarketProxy()); } public bool RemovePrebuiltMarketProxy(string userId) { return _prebuiltProxies.TryRemove(userId, out _); } private readonly ConcurrentDictionary _prebuiltProxies; public static readonly QdpMarketManager Instance; static QdpMarketManager() { Instance = new QdpMarketManager(); } } }