Similar to partial classes the new version of Visual Basic is now able to handle partial modules and partial interfaces. The syntax and behaviour is exactly the same as it would be for partial classes.
A partial module example:
Partial Module Module1
Sub Main()
Console.Write("Ping -> ")
TestFunktion()
End Sub
End Module
Partial Module Module1
Private Sub TestFunktion()
Console.WriteLine("Pong")
End Sub
End Module
And a partial interface:
Partial Interface Interface1
Sub Methode1()
End Interface
Partial Interface Interface1
Sub Methode2()
End Interface
Public Class Class1
Implements Interface1
Public Sub Methode1() Implements Interface1.Methode1
Throw New NotImplementedException()
End Sub
Public Sub Methode2() Implements Interface1.Methode2
Throw New NotImplementedException()
End Sub
End Class
Just like for partial classes the definitions for the partial modules and interfaces have to be located in the same namespace and the same assembly. This is because the partial parts of the modules and interfaces are merged during the compilation and the compiled assembly does not contain any indication that the original definition of the module or interface was split.