0
誰でも素晴らしいアイデアを知っていますか?結果をUIスレッドに返す方法は? 私はこのコードを書きましたが、非同期で "img"を返すことができないため、コンパイルエラーになります。Windows PhoneのUIスレッドに結果を返す方法は?
public byte[] DownloadAsync2(Uri address)
{
byte[] img;
byte[] buffer = new byte[4096];
var wc = new WebClient();
wc.OpenReadCompleted += ((sender, e) =>
{
using (MemoryStream memoryStream = new MemoryStream())
{
int count = 0;
do
{
count = e.Result.Read(buffer, 0, buffer.Length);
memoryStream.Write(buffer, 0, count);
} while (count != 0);
Deployment.Current.Dispatcher.BeginInvoke(() =>
{
if (e.Error == null) img = memoryStream.ToArray();
});
}
}
);
wc.OpenReadAsync(address);
return img; //error : Use of unassigned local variable 'img'
}
おかげでお返事。私は行動に精通していません。あなたはActionでUsageを使う方法を教えてくれますか? –
あなたのコードにミスがあると思います。 "if(e.Error!= null)"は "if(e.Error == null)"でなければなりません。私は修正し、私はそれが働いたことを確認した。 –
はい、ありがとう.... – Ku6opr