OpenReadCompletedEventHandler Delegato
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Rappresenta il metodo che gestirà l'evento OpenReadCompleted di un oggetto WebClient.
public delegate void OpenReadCompletedEventHandler(System::Object ^ sender, OpenReadCompletedEventArgs ^ e);
public delegate void OpenReadCompletedEventHandler(object sender, OpenReadCompletedEventArgs e);
type OpenReadCompletedEventHandler = delegate of obj * OpenReadCompletedEventArgs -> unit
Public Delegate Sub OpenReadCompletedEventHandler(sender As Object, e As OpenReadCompletedEventArgs)
Parametri
- sender
- Object
Origine dell'evento.
Oggetto OpenReadCompletedEventArgs contenente i dati dell'evento.
Esempio
Nell'esempio di codice seguente viene illustrato il download di una risorsa per la lettura.
void OpenResourceForReading2( String^ address )
{
WebClient^ client = gcnew WebClient;
Uri ^uri = gcnew Uri(address);
client->OpenReadCompleted += gcnew OpenReadCompletedEventHandler( OpenReadCallback2 );
client->OpenReadAsync( uri );
}
public static void OpenResourceForReading2(string address)
{
WebClient client = new WebClient();
Uri uri = new Uri(address);
client.OpenReadCompleted += new OpenReadCompletedEventHandler(OpenReadCallback2);
client.OpenReadAsync(uri);
}
Public Shared Sub OpenResourceForReading2(ByVal address As String)
Dim client As WebClient = New WebClient()
AddHandler client.OpenReadCompleted, AddressOf OpenReadCallback2
Dim uri as Uri = New Uri(address)
client.OpenReadAsync(uri)
End Sub
Al termine del download viene chiamato il metodo seguente.
void OpenReadCallback2( Object^ /*sender*/, OpenReadCompletedEventArgs^ e )
{
Stream^ reply = nullptr;
StreamReader^ s = nullptr;
try
{
reply = dynamic_cast<Stream^>(e->Result);
s = gcnew StreamReader( reply );
Console::WriteLine( s->ReadToEnd() );
}
finally
{
if ( s != nullptr )
{
s->Close();
}
if ( reply != nullptr )
{
reply->Close();
}
}
}
private static void OpenReadCallback2(Object sender, OpenReadCompletedEventArgs e)
{
Stream reply = null;
StreamReader s = null;
try
{
reply = (Stream)e.Result;
s = new StreamReader(reply);
Console.WriteLine(s.ReadToEnd());
}
finally
{
if (s != null)
{
s.Close();
}
if (reply != null)
{
reply.Close();
}
}
}
Private Shared Sub OpenReadCallback2(ByVal sender As Object, ByVal e As OpenReadCompletedEventArgs)
Dim reply As Stream = Nothing
Dim s As StreamReader = Nothing
Try
reply = CType(e.Result, Stream)
s = New StreamReader(reply)
Console.WriteLine(s.ReadToEnd())
Finally
If Not s Is Nothing Then
s.Close()
End If
If Not reply Is Nothing Then
reply.Close()
End If
End Try
End Sub
Commenti
Quando si crea un delegato OpenReadCompletedEventHandler, si identifica il metodo che gestirà l'evento. Per associare l'evento al gestore eventi in uso, aggiungere all'evento un'istanza del delegato. Il gestore eventi viene chiamato ogni volta che si verifica l'evento, a meno che non venga rimosso il delegato.
Metodi di estensione
GetMethodInfo(Delegate) |
Ottiene un oggetto che rappresenta il metodo rappresentato dal delegato specificato. |