So I have been doing some work that involves C# and VB libraries and apps using each other, and have noticed a lot of subtle differences between the two languages.
Declaration of types inside an interface:
However in C#, you cannot declare types inside an interface, however it is quite happy to consume one create in a VB project:
That is not to say it is a good thing to do - I have encountered problems with XML Deserialization not working if it needed to deserialize an enum that was declared inside an interface.
Again, this is perfectly legal in VB:
It compiles, and runs fine from VB:
However trying to consume this from C# will not work:
But like this will: