2016-05-13 8 views
0

Ich möchte, dass der Code einen Operator wie (+) oder (-) zurückgibt und dann eine Berechnung durchführt. ist das in vb.net möglich?vb.net-Funktion zum Zurückgeben eines Operators

Pseudo-Code

public function rOperator(params) as operator 

if (..) 
return + 

else 
return - 
end if 

end function 

Pseudo-Code

Msgbox(1 rOperator 2) 
+0

Nein, das ist nicht möglich. Der einfachste Weg wäre, eine Funktion zu erstellen, die abhängig von Ihren Bedingungen unterschiedlich berechnet. I.e. 'DoMath (1, 2)' –

Antwort

2

Wie bereits gesagt, vor, das nicht möglich ist. Was Sie tun können, ist ein Wörterbuch der Func(Of T) erstellen und sie dann aufrufen, indem Sie in Ihrem Netzbetreiber übergeben:

Sub Main 
    Dim operations As New Dictionary(Of String, Func(Of Double, Double, Double))() 

    'Set up operations for addition, subtractions, multipication, and division 
    operations.Add("+", Function(l, r) l + r) 
    operations.Add("-", Function(l, r) l - r) 
    operations.Add("*", Function(l, r) l * r) 
    operations.Add("/", Function(l, r) l/r) 

    Dim result As Double = operations("+")(5, 5) 
    Dim result2 As Double = operations("*")(5, 5) 

    Console.WriteLine(result) 
    Console.WriteLine(result2) 

End Sub 
Verwandte Themen