public static IRender CreateRender(WalllpaperDefinedType dType) { foreach (var render in Renders) { var exist = render.Value.FirstOrDefault(m => m.DType == dType); if (exist != null) { return(Activator.CreateInstance(render.Key) as IRender); } } return(null); }
public static IRender GetOrCreateRender(WalllpaperDefinedType dType) { foreach (var instance in CacheInstance) { var exist = instance.SupportTypes.FirstOrDefault(m => m.DType == dType); if (exist != null) { return(instance); } } var result = CreateRender(dType); if (result != null) { CacheInstance.Add(result); } return(result); }
public WallpaperType(WalllpaperDefinedType type, params string[] extesion) { DType = type; SupportExtensions = extesion?.ToList(); }