OpenWriteCompletedEventHandler 委托
定义
表示将用来处理 OpenWriteCompleted 的 WebClient 事件的方法。Represents the method that will handle the OpenWriteCompleted event of a WebClient.
public delegate void OpenWriteCompletedEventHandler(System::Object ^ sender, OpenWriteCompletedEventArgs ^ e);
public delegate void OpenWriteCompletedEventHandler(object sender, OpenWriteCompletedEventArgs e);
type OpenWriteCompletedEventHandler = delegate of obj * OpenWriteCompletedEventArgs -> unit
Public Delegate Sub OpenWriteCompletedEventHandler(sender As Object, e As OpenWriteCompletedEventArgs)
参数
- sender
- Object
事件源。The source of the event.
一个包含事件数据的 OpenWriteCompletedEventArgs。A OpenWriteCompletedEventArgs containing event data.
- 继承
示例
下面的代码示例演示如何打开流以写入要上载的数据。The following code example demonstrates opening a stream to write data to be uploaded.
void OpenResourceForPosting( String^ address )
{
WebClient^ client = gcnew WebClient;
Uri ^uri = gcnew Uri(address);
// Specify that the OpenWriteCallback method gets called
// when the writeable stream is available.
client->OpenWriteCompleted += gcnew OpenWriteCompletedEventHandler( OpenWriteCallback2 );
client->OpenWriteAsync( uri );
// Applications can perform other tasks
// while waiting for the upload to complete.
}
public static void OpenResourceForPosting (string address)
{
WebClient client = new WebClient ();
Uri uri = new Uri(address);
// Specify that the OpenWriteCallback method gets called
// when the writeable stream is available.
client.OpenWriteCompleted += new OpenWriteCompletedEventHandler (OpenWriteCallback2);
client.OpenWriteAsync (uri);
// Applications can perform other tasks
// while waiting for the upload to complete.
}
Public Shared Sub OpenResourceForPosting(ByVal address As String)
Dim client As WebClient = New WebClient()
' Specify that the OpenWriteCallback method gets called
' when the writeable stream is available.
AddHandler client.OpenWriteCompleted, AddressOf OpenWriteCallback2
Dim uri as Uri = New Uri(address)
client.OpenWriteAsync(uri)
' Applications can perform other tasks
' while waiting for the upload to complete.
End Sub
当流可用时, 将调用以下方法。The following method is called when the stream is available.
void OpenWriteCallback2( Object^ /*sender*/, OpenWriteCompletedEventArgs^ e )
{
Stream^ body = nullptr;
StreamWriter^ s = nullptr;
try
{
body = dynamic_cast<Stream^>(e->Result);
s = gcnew StreamWriter( body );
s->AutoFlush = true;
s->Write( "This is content data to be sent to the server." );
}
finally
{
if ( s != nullptr )
{
s->Close();
}
if ( body != nullptr )
{
body->Close();
}
}
}
private static void OpenWriteCallback2 (Object sender, OpenWriteCompletedEventArgs e)
{
Stream body = null;
StreamWriter s = null;
try
{
body = (Stream)e.Result;
s = new StreamWriter (body);
s.AutoFlush = true;
s.Write ("This is content data to be sent to the server.");
}
finally
{
if (s != null)
{
s.Close ();
}
if (body != null)
{
body.Close ();
}
}
}
Private Shared Sub OpenWriteCallback2(ByVal sender As Object, ByVal e As OpenWriteCompletedEventArgs)
Dim body As Stream = Nothing
Dim s As StreamWriter = Nothing
Try
body = CType(e.Result, Stream)
s = New StreamWriter(body)
s.AutoFlush = True
s.Write("This is content data to be sent to the server.")
Finally
If Not s Is Nothing Then
s.Close()
End If
If Not body Is Nothing Then
body.Close()
End If
End Try
End Sub
注解
创建 OpenWriteCompletedEventHandler 委托时,需要标识将处理该事件的方法。When you create a OpenWriteCompletedEventHandler delegate, you identify the method that will handle the event. 若要将事件与事件处理程序关联,请将该委托的一个实例添加到事件中。To associate the event with your event handler, add an instance of the delegate to the event. 除非移除了该委托,否则每当发生该事件时就会调用事件处理程序。The event handler is called whenever the event occurs, unless you remove the delegate.
扩展方法
GetMethodInfo(Delegate) |
获取指示指定委托表示的方法的对象。Gets an object that represents the method represented by the specified delegate. |