using System; using System.Collections.Generic; namespace HandyControlDemo.Tools { internal class AssemblyHelper { private static readonly string NameSpaceStr = typeof(AssemblyHelper).Assembly.GetName().Name; private static readonly Dictionary CacheDic = new Dictionary(); public static void Register(string name, object instance) => CacheDic[name] = instance; public static object ResolveByKey(string key) { if (CacheDic.TryGetValue(key, out var value)) { return value; } return null; } public static object CreateInternalInstance(string className) { try { var type = Type.GetType($"{NameSpaceStr}.{className}"); return type == null ? null : Activator.CreateInstance(type); } catch { return null; } } } }