38 lines
988 B
C#
38 lines
988 B
C#
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<string, object> CacheDic = new();
|
|
|
|
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;
|
|
}
|
|
}
|
|
}
|
|
}
|