DownloadDataCompletedEventHandler Temsilci
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
bir olayını WebClientişleyecek DownloadDataCompleted yöntemi temsil eder.
public delegate void DownloadDataCompletedEventHandler(System::Object ^ sender, DownloadDataCompletedEventArgs ^ e);
public delegate void DownloadDataCompletedEventHandler(object sender, DownloadDataCompletedEventArgs e);
type DownloadDataCompletedEventHandler = delegate of obj * DownloadDataCompletedEventArgs -> unit
Public Delegate Sub DownloadDataCompletedEventHandler(sender As Object, e As DownloadDataCompletedEventArgs)
Parametreler
- sender
- Object
Olayın kaynağı.
Olay DownloadDataCompletedEventArgs verilerini içeren bir.
Örnekler
Aşağıdaki kod örneğinde, kullanıcı tarafından belirtilen bir kaynağın indirilmesi gösterilmektedir.
// Sample call : DownLoadDataInBackground ("http://www.contoso.com/GameScores.html");
void DownloadDataInBackground( String^ address )
{
System::Threading::AutoResetEvent^ waiter = gcnew System::Threading::AutoResetEvent( false );
WebClient^ client = gcnew WebClient;
Uri ^uri = gcnew Uri(address);
// Specify that the DownloadDataCallback method gets called
// when the download completes.
client->DownloadDataCompleted += gcnew DownloadDataCompletedEventHandler( DownloadDataCallback );
client->DownloadDataAsync( uri, waiter );
// Block the main application thread. Real applications
// can perform other tasks while waiting for the download to complete.
waiter->WaitOne();
}
// Sample call : DownLoadDataInBackground ("http://www.contoso.com/GameScores.html");
public static void DownloadDataInBackground(string address)
{
System.Threading.AutoResetEvent waiter = new System.Threading.AutoResetEvent(false);
WebClient client = new WebClient();
Uri uri = new Uri(address);
// Specify that the DownloadDataCallback method gets called
// when the download completes.
client.DownloadDataCompleted += new DownloadDataCompletedEventHandler(DownloadDataCallback);
client.DownloadDataAsync(uri, waiter);
// Block the main application thread. Real applications
// can perform other tasks while waiting for the download to complete.
waiter.WaitOne();
}
' Sample call : DownLoadDataInBackground ("http:' www.contoso.com/GameScores.html")
Public Shared Sub DownloadDataInBackground(ByVal address As String)
Dim waiter As System.Threading.AutoResetEvent = New System.Threading.AutoResetEvent(False)
Dim client As WebClient = New WebClient()
' Specify that the DownloadDataCallback method gets called
' when the download completes.
AddHandler client.DownloadDataCompleted, AddressOf DownloadDataCallback
Dim uri as Uri = New Uri(address)
client.DownloadDataAsync(uri, waiter)
' Block the main application thread. Real applications
' can perform other tasks while waiting for the download to complete.
waiter.WaitOne()
End Sub
İndirme tamamlandığında aşağıdaki yöntem çağrılır.
void DownloadDataCallback( Object^ /*sender*/, DownloadDataCompletedEventArgs^ e )
{
System::Threading::AutoResetEvent^ waiter = dynamic_cast<System::Threading::AutoResetEvent^>(e->UserState);
try
{
// If the request was not canceled and did not throw
// an exception, display the resource.
if ( !e->Cancelled && e->Error == nullptr )
{
array<Byte>^data = dynamic_cast<array<Byte>^>(e->Result);
String^ textData = System::Text::Encoding::UTF8->GetString( data );
Console::WriteLine( textData );
}
}
finally
{
// Let the main application thread resume.
waiter->Set();
}
}
private static void DownloadDataCallback(Object sender, DownloadDataCompletedEventArgs e)
{
System.Threading.AutoResetEvent waiter = (System.Threading.AutoResetEvent)e.UserState;
try
{
// If the request was not canceled and did not throw
// an exception, display the resource.
if (!e.Cancelled && e.Error == null)
{
byte[] data = (byte[])e.Result;
string textData = System.Text.Encoding.UTF8.GetString(data);
Console.WriteLine(textData);
}
}
finally
{
// Let the main application thread resume.
waiter.Set();
}
}
Private Shared Sub DownloadDataCallback(ByVal sender As Object, ByVal e As DownloadDataCompletedEventArgs)
Dim waiter As System.Threading.AutoResetEvent = CType(e.UserState, System.Threading.AutoResetEvent)
Try
' If the request was not canceled and did not throw
' an exception, display the resource.
If e.Cancelled = False AndAlso e.Error Is Nothing Then
Dim data() As Byte = CType(e.Result, Byte())
Dim textData As String = System.Text.Encoding.UTF8.GetString(data)
Console.WriteLine(textData)
End If
Finally
' Let the main application thread resume.
waiter.Set()
End Try
End Sub
Açıklamalar
Bir DownloadDataCompletedEventHandler temsilci oluşturduğunuzda, olayı işleyecek yöntemi tanımlarsınız. Olayı olay işleyicinizle ilişkilendirmek için olaya temsilcinin bir örneğini ekleyin. Olay her gerçekleştiğinde, olay işleyici (siz temsilciyi kaldırmadığınız sürece) çağrılır. Olay işleyici temsilcileri hakkında daha fazla bilgi için bkz. Olayları İşleme ve Oluşturma.
Uzantı Metotları
GetMethodInfo(Delegate) |
Belirtilen temsilci tarafından temsil edilen yöntemi temsil eden bir nesnesi alır. |