Use variable instead of global static method

1. introduce variable
2. part of #389
3. refactoring program suffix in program plugin
4. 全局变量一时爽,代码重构火葬场
This commit is contained in:
bao-qian
2016-03-28 03:09:57 +01:00
parent c596039453
commit b22a4501cc
36 changed files with 402 additions and 343 deletions

View File

@@ -36,6 +36,13 @@ namespace Wox.ImageLoader
".appref-ms"
};
private static ImageCacheStroage _imageCache;
static ImageLoader()
{
_imageCache = ImageCacheStroage.Instance;
}
private static ImageSource GetIcon(string fileName)
{
try
@@ -56,7 +63,7 @@ namespace Wox.ImageLoader
public static void PreloadImages()
{
//ImageCacheStroage.Instance.TopUsedImages can be changed during foreach, so we need to make a copy
var imageList = new Dictionary<string, int>(ImageCacheStroage.Instance.TopUsedImages);
var imageList = new Dictionary<string, int>(_imageCache.TopUsedImages);
Stopwatch.Debug($"Preload {imageList.Count} images", () =>
{
foreach (var image in imageList)
@@ -87,7 +94,7 @@ namespace Wox.ImageLoader
if (addToCache)
{
ImageCacheStroage.Instance.Add(path);
_imageCache.Add(path);
}