public List <IBooruPost> DeserializePosts(BooruSiteType type, string posts) { switch (type) { case BooruSiteType.Danbooru: _booruContractResolver.SetBooruSite(BooruSiteType.Danbooru); return(new List <IBooruPost>( _jsonSerializer.DeserializeBooruPosts <List <DanbooruPost>, DanbooruPost>(posts, _booruContractResolver))); case BooruSiteType.SafeBooru: _booruContractResolver.SetBooruSite(BooruSiteType.SafeBooru); return(new List <IBooruPost>( _jsonSerializer.DeserializeBooruPosts <List <SafebooruPost>, SafebooruPost>(posts, _booruContractResolver))); case BooruSiteType.Gelbooru: _booruContractResolver.SetBooruSite(BooruSiteType.Gelbooru); return(new List <IBooruPost>( _jsonSerializer.DeserializeBooruPosts <List <GelbooruPost>, GelbooruPost>(posts, _booruContractResolver))); } throw new Exception("Unknown booru type for deserialize"); }