/// <summary> /// Checks if file exists in the cache /// </summary> /// <param name="in_file_name"></param> /// <param name="in_file_length"></param> /// <param name="in_checksum"></param> static public bool IsFileExists(string in_file_name, UInt32 in_file_length, MD5Hash in_hash) { string cache_path = GetFileCachePath(); string file_path = Path.Combine(cache_path, in_file_name); // check if file is exists in the cache if (File.Exists(file_path)) { // check file length FileInfo file_info = new FileInfo(file_path); if (file_info.Length != in_file_length) { return(false); } // check MD5 checksum MD5Hash hash = new MD5Hash(); hash.ComputeFileHash(file_path); if (hash.IsEqual(in_hash)) { return(true); } } return(false); }