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.