CompletedEventHandler デリゲートとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > CompletedEventHandler デリゲートの意味・解説 

CompletedEventHandler デリゲート

Completed イベント処理するメソッド表します

名前空間: System.Management
アセンブリ: System.Management (system.management.dll 内)
構文構文

Public Delegate Sub CompletedEventHandler
 ( _
    sender As Object, _
    e As CompletedEventArgs _
)
Dim instance As New CompletedEventHandler(AddressOf
 HandlerMethod)
public delegate void CompletedEventHandler
 (
    Object sender,
    CompletedEventArgs e
)
public delegate void CompletedEventHandler
 (
    Object^ sender, 
    CompletedEventArgs^ e
)
/** @delegate */
public delegate void CompletedEventHandler
 (
    Object sender, 
    CompletedEventArgs e
)
JScript では、デリゲート使用できますが、新規に宣言することはできません。

パラメータ

sender

このメソッド呼び出し元となるオブジェクトインスタンス

e

イベント呼び出され理由指定する CompletedEventArgs。

使用例使用例

メソッド非同期呼び出す例を次に示しますWin32_Process.Create メソッドは、Calc.exe の新しプロセス作成するために呼び出されます。

Imports System
Imports System.Management

Public Class InvokeMethodAsync

    Private isFinished As Boolean
 = False
    Private returnObj As ManagementBaseObject

    Public Sub New()

        ' Get the object on which the method 
        ' will be invoked
        Dim processClass As ManagementClass
 = _
            New ManagementClass("Win32_Process")

        ' Create a results and completion handler
        Dim handler As ManagementOperationObserver
 = _
            New ManagementOperationObserver
        AddHandler handler.Completed, _
            AddressOf Me.Completed

        ' Invoke method asynchronously
        Dim inParams As ManagementBaseObject
 = _
            processClass.GetMethodParameters("Create")
        inParams("CommandLine") = "calc.exe"
        processClass.InvokeMethod( _
            handler, "Create", inParams, Nothing)

        ' Do something while method is executing
        While (Not Me.IsComplete)

            System.Threading.Thread.Sleep(1000)
        End While

    End Sub

    ' Property allows accessing the result
    ' object in the main function
    Private Function ReturnObject() As
 ManagementBaseObject

        Return returnObj

    End Function

    ' Delegate called when the method completes
    ' and results are available
    Private Sub NewObject(ByVal
 sender As Object, _
        ByVal e As ObjectReadyEventArgs)

        Console.WriteLine("New Object arrived!")
        returnObj = e.NewObject

    End Sub

    ' Used to determine whether the method
    ' execution has completed
    Private Function IsComplete() As
 Boolean

        Return isFinished

    End Function

    Private Sub Completed(ByVal
 sender As Object, _
        ByVal e As CompletedEventArgs)

        isFinished = True
        Console.WriteLine("Completed method invocation.")

    End Sub

    Public Shared Function
 _
            Main(ByVal args() As String)
 As Integer

        Dim invokeMethod As New
 InvokeMethodAsync

        Return 0

    End Function


End Class
using System;
using System.Management;

public class InvokeMethodAsync 
{
    private bool isComplete = false;
    private ManagementBaseObject returnObject;

    public InvokeMethodAsync()
    {
        // Get the object on which the method 
        // will be invoked
        ManagementClass processClass = 
            new ManagementClass("Win32_Process");

        // Create a results and completion handler
        ManagementOperationObserver handler = 
            new ManagementOperationObserver();
        handler.Completed += 
            new CompletedEventHandler(this.Completed);

        // Invoke method asynchronously
        ManagementBaseObject inParams =
            processClass.GetMethodParameters("Create");
        inParams["CommandLine"] = "calc.exe";
        processClass.InvokeMethod(
            handler, "Create", inParams, null);
      
        // Do something while method is executing
        while(!this.IsComplete) 
        {
            System.Threading.Thread.Sleep(1000);
        }

    }

    // Property allows accessing the result
    // object in the main function
    private ManagementBaseObject ReturnObject 
    {
        get 
        {
            return returnObject;
        }
    }

    // Delegate called when the method completes
    // and results are available
    private void NewObject(object sender,
        ObjectReadyEventArgs e) 
    {
        Console.WriteLine("New Object arrived!");
        returnObject = e.NewObject;
    }

    // Used to determine whether the method
    // execution has completed
    private bool IsComplete 
    {
        get 
        {
            return isComplete;
        }
    }

    private void Completed(object sender,
        CompletedEventArgs e)
    {
        isComplete = true;
        Console.WriteLine("Method invoked.");
    }

    public static void Main()
    {
        InvokeMethodAsync invokeMethod = new InvokeMethodAsync();

        return;

    }
}
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

CompletedEventHandler デリゲートのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



CompletedEventHandler デリゲートのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS