代表和职能

时间:2013-12-04 00:49:51

标签: .net vb.net methods delegates

我正在尝试制作一个添加2个数字的简单程序。我必须使用代表,但无法使其工作。

Module Module1
    Public Delegate Sub MathDelegate()
    Public x, y, z As integer

    Sub Main()
        Dim math As MathDelegate()
        Dim Moperator As Double
        Console.WriteLine("Enter 1 for addition")
        Moperator = Console.ReadLine()
        If Moperator = 1 Then
            math = New MathDelegate(AddressOf FnAdd)
            math()
        End If

        Console.ReadKey()
    End Sub

    Sub FnAdd()
        x = Console.ReadLine()
        y = Console.ReadLine()
        z = x + y
        Console.WriteLine(z)
    End Sub
End Module

2 个答案:

答案 0 :(得分:1)

这一行:

Dim math As MathDelegate()

实际上将变量math声明为MathDelegate个委托的数组。将其更改为:

Dim math As MathDelegate

您的程序应按预期运行。

答案 1 :(得分:0)

实际上将变量math声明为MathDelegate委托的数组。 把它改成这个: 昏暗的数学作为MathDelegate 然后打电话 FnAdd()函数。