One beef I have had with vb was that I thought you could not chain interfaces like you can in C#:

Public Interface ICommand: IDisposable  
{  
 void AddParameter(string name, object paramValue)  
 IDataReader ExecuteReader()   
 int ExecuteNonQuery()  
 Object ExecuteScalar()   
}
 
Finally a colleague of mine told me that instead of implementing an interface 
on an interface you inherit the interface like so:

Public Interface ICommand
    Inherits IDisposable
    Sub AddParameter(ByValname As String, ByVal paramValue As Object)
    Function ExecuteReader() As IDataReader
    Function ExecuteNonQuery() As Integer
    Function ExecuteScalar() As Object
End Interface
 
So simple (still feels weird to inherit an interface but in this case it does make sense)