You can't pass an operator, but you can pass a Function that implements the operator. Here's a short but complete program to demonstrate:
Public Shared Function Add(a As Integer, b As Integer) As Integer
Return a + b
End Function
Public Shared Function Divide(a As Integer, b As Integer) As Integer
Return a \ b ''# Backwards \ is VB integer division
End Function
Public Shared Function Calculate(a As Integer, b As Integer, op As Func(Of Integer, Integer, Integer))
Return op(a, b)
End Function
Public Shared Sub Main()
Console.Write("Divide: ")
Console.WriteLine(Calculate(4,2, AddressOf Divide))
Console.Write("Add: ")
Console.WriteLine(Calculate(4,2, AddressOf Add))
Console.Write("Multiply: ")
Console.WriteLine(Calculate(4,2, Function(x,y) x * y))
Console.Write("Subtract: ")
Console.WriteLine(Calculate(4,2, Function(x,y)
Return x - y
End Function))
Console.ReadKey(True)
End Sub
Note that I typed this directly into the reply window, so there's likely a mistake in there somewhere. Also note that the last example only works in Visual Studio 2010. But the gist of the answer is accurate.