/// <summary>
        /// 作品更新并显示
        /// </summary>
        public async Task <bool> update()
        {
            ImageInfo img = new ImageInfo();

            //也许用反射会更好?
            switch (c.mode)
            {
            case "Bookmark":
                if (bookmark == null)
                {
                    bookmark = new PixivBookmark(loader, pixiv);
                }
                img = await bookmark.SelectArtwork();

                break;

            case "FollowIllust":
                if (follow == null)
                {
                    follow = new PixivFollowingIllust(loader, pixiv);
                }
                img = await follow.SelectArtwork();

                break;

            case "Recommendation":
                if (recommend == null)
                {
                    recommend = new PixivRecommendation(loader, pixiv);
                }
                img = await recommend.SelectArtwork();     //PixivCS在UI线程被建立,不支持从子线程调用

                break;

            case "Ranking":
                if (ranking == null)
                {
                    ranking = new PixivRanking(loader, pixiv);
                }
                img = await ranking.SelectArtwork(c.rankingMode);

                break;

            default:
                if (recommend == null)
                {
                    recommend = new PixivRecommendation(loader, pixiv);
                }
                await Task.Run(async() => { img = await bookmark.SelectArtwork(); });

                break;
            }


            if (img != null)
            {
                await viewModel.LoadImageAsync(img, c);

                if (backgroundMode.Equals("BackgroundTask"))
                {
                    RegistTask(); //重新申请后台计时触发器
                }
                else
                {
                    timer.Interval = TimeSpan.FromMinutes(c.time);
                    timer.Start();
                }
                return(true);
            }
            else
            {
                return(false);
            }
        }