コード例 #1
0
 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);
 }
コード例 #2
0
        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);
        }
コード例 #3
0
 public WallpaperType(WalllpaperDefinedType type, params string[] extesion)
 {
     DType             = type;
     SupportExtensions = extesion?.ToList();
 }