C# client web à l'Aide de Async et de renvoyer les données

Bien, j'ai rencontré un problème lors de l'utilisation de DownloadDataAsync et de l'avoir de retour les octets pour moi. C'est le code, je suis en utilisant:

    private void button1_Click(object sender, EventArgs e)
    {
        byte[] bytes;
        using (WebClient client = new WebClient())
        {
            client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(DownloadProgressChanged);
            bytes = client.DownloadDataAsync(new Uri("http://example.net/file.exe"));
        }
    }
    void DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
    {
        double bytesIn = double.Parse(e.BytesReceived.ToString());
        double totalBytes = double.Parse(e.TotalBytesToReceive.ToString());
        double percentage = bytesIn / totalBytes * 100;
        label1.Text = Math.Round(bytesIn / 1000) + " /" + Math.Round(totalBytes / 1000);

        progressBar1.Value = int.Parse(Math.Truncate(percentage).ToString());
        if (progressBar1.Value == 100)
        {
            MessageBox.Show("Download Completed");
            button2.Enabled = true;
        }
    }

L'erreur que j'obtiens est "Impossible de convertir implicitement le type "void" à " byte[]'"

Est-il de toute façon je peux rendre cela possible, et de me donner les octets fois qu'elle est téléchargée? Il fonctionne très bien lorsque éliminer les "octets =".

OriginalL'auteur xZerox | 2010-08-13