The VB.NET IDE will auto-generate the implementation methods as soon as you press the Enter key after typing the Implements IFoo(Of T)
statement. Producing:
Default Public Property Item(index As Integer) As T Implements IFoo(Of T).Item
'' Get and Set...
End Property
Private Property IList_Item(index As Integer) As T Implements IList(Of T).Item
'' Get and Set...
End Property
I had to guess at IFoo since your snippet isn't complete enough, substitute yours. It does flub on the IList.Item implementation, you have to remove the Default keyword since a class can have only one Default property (aka "indexer"). Note that in VB.NET, all interface method implementations are explicit, presumably the speed-bump. And that "Item" is the name of the indexer.