-1

コードを介して画像をダウンロードするために使用WebClientしているのは非常に大きいため、コードをクラスに分離しようとしています。以下のコードをクラスまたは関数に入れる方法の例を教えてもらえますか?

WebClient client = new WebClient ();
client.DownloadDataCompleted += 
    (object sender, DownloadDataCompletedEventArgs e) => 
    {
        byte[] result = e.Result;
        if (result != null) 
        {
            NSData data1 = NSData.FromArray (e.Result);
            UIImage img = UIImage.LoadFromData (data1);
            InvokeOnMainThread (delegate {
                avatar.Image = img;     
            });             
        }
   };

client.DownloadDataAsync(new Uri(
    "http://xx.xx.xx.xx/fbcache/" + 
    list[indexPath.Row].comentario_id_usuario + 
    ".jpg"));
4

1 に答える 1

-1

クラスとは何か、それが何の目的を果たすのかについて混乱しているかもしれません。そのコードを関数に入れる限り、以下を試して開始してください(ただし、必要な結果を得るために行っている非同期呼び出しについて何かをする必要があると思います):

public WebClient MyFunctionName()
{
        #region Baixando as imagens e as exibindo
        WebClient client = new WebClient ();
        client.DownloadDataCompleted += (object sender, DownloadDataCompletedEventArgs e) => {
            byte[] result = e.Result;
            if (result != null) {
                NSData data1 = NSData.FromArray (e.Result);
                UIImage img = UIImage.LoadFromData (data1);
                InvokeOnMainThread (delegate {
                    avatar.Image = img;


                });

            }
        };
        client.DownloadDataAsync (new Uri ("http://xx.xx.xx.xx/fbcache/"+list [indexPath.Row].comentario_id_usuario+".jpg"));
        #endregion
        return client;
}
于 2013-03-08T23:37:34.497 に答える