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.

e
OpenWriteCompletedEventArgs

Объект OpenWriteCompletedEventArgs, содержащий данные о событии.A OpenWriteCompletedEventArgs containing event data.

Наследование
OpenWriteCompletedEventHandler

Примеры

В следующем примере кода демонстрируется открытие потока для записи данных для передачи.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.

Применяется к