In order to do it in the manner you want, you either need to make an instance of the classes as @Chipmunk suggests or make the method Shared. You also should get away from the old VB6 method of doing this. Your method should look like:
Public Shared Function Add(ByVal n1 As Int16, ByVal n2 As Int16) As Int16
Return n1 + n2
End Function
Edit:
This would then be called using:
Dim x as Int16 = MyFunc1.MyFunc2.Add(15, 16)
Using Call assumes you are executing a sub and not a function. The purpose of a function is to return data. Simply Calling it won't result in the desired effect.
Edit 2 (example)
You can use a module for this as @Chipmunk states, or you can use a class. My preference is class only because MS hasn't made their minds up about modules (they did away with them for one of the versions - I forget which - and then brought them back).
Class method
Namespace MyFunc1
Public Class MyFunc2
Public Shared Function Add(ByVal n1 As Int16, ByVal n2 As Int16) As Int16
Return n1 + n2
End Function
End Class
End Namespace
Usage in Form1.vb
Imports MyFunc1
...
Public Sub DoAdd()
Dim x as Int16 = MyFunc2.Add(15, 16) ' MyFunc1 Namespace imported, MyFunc2
' is assumed. No instance is created
End Sub
Module Method
Public Module MyFunctions
' Notice no shared modifier here. The module uses the legacy module
' concept to assume that it is shared
Public Function Add(ByVal n1 as Int16, ByVal n2 as Int16) As Int16
Return n1 + n2
End Function
End Module
Usage in Form1.vb
Since the module would be in a referenced namespace in your project, you would just call it directly:
Public Sub DoAdd()
Dim x as Int16 = MyFunctions.Add(15, 16) ' This assumes that your MyFunctions
' module is in an imported namespace
End Sub