3

プログラミング クラスのために、以下に示す小さな vb.net コンソール プログラムを作成する必要がありました。今、私はこれをしなければなりません:

4 つの手順すべてを保持するマルチキャスト デリゲートを追加します。DynamicInvoke() メソッドを使用してプロシージャを呼び出します。

どうすればいいですか?考えられることはすべて試しましたが、理解できないようです。これが私のコードです。やりたいことを自由にやってください。ヘルプと説明をいただければ幸いです。ありがとう!

Imports System
Module Module1
Dim a, b, result as Integer
Private Delegate Sub myDelegate()
Sub Main()
    Dim ask As myDelegate
    ask = New myDelegate(AddressOf Ask1)
    ask()
    Dim Multiply1 As myDelegate
    Multiply1 = New myDelegate(AddressOf Multiply)
    Multiply1()
    Dim Subtraction1 As myDelegate
    Subtraction1 = New myDelegate(AddressOf Subtraction)
    Subtraction1()
    Dim Addition1 As myDelegate
    Addition1 = New myDelegate(AddressOf Addition)
    Addition1()
    Dim Division1 As myDelegate
    Division1 = New myDelegate(AddressOf Division)
    Division1()
    Console.ReadLine()
End Sub
Sub Ask1()
    Console.WriteLine("Enter First Number")
    a = Console.ReadLine()
    Console.WriteLine("Enter Second Number")
    b = Console.ReadLine()
End Sub
Sub Addition()
    Result = a + b
    Console.WriteLine("Added: " & Result)
End Sub
Sub Subtraction()
    Result = a - b
    Console.WriteLine("Subtracted: " & Result)
End Sub
Sub Multiply()
    result = a * b
    Console.WriteLine("Multiplied: " & Result)
End Sub
Sub Division()
    Console.WriteLine("Divided: " & a / b)
End Sub
End Module
4

1 に答える 1

2

このようなもの?...これを の最後に追加Main:

    Dim dMultiCast As myDelegate
    dMultiCast = [Delegate].Combine(New myDelegate(AddressOf Addition),
                                    New myDelegate(AddressOf Subtraction),
                                    New myDelegate(AddressOf Division),
                                    New myDelegate(AddressOf Multiply))
    dMultiCast.DynamicInvoke()

    Console.ReadLine()
End Sub
于 2013-01-27T01:37:46.423 に答える