Существует небольшая проблема в реализации интерфейса VB.Net, которую необходимо учитывать при портировании на C #.Реализованный метод интерфейса в VB.Net по существу использует как неявные, так и явные реализации интерфейса в одной строке.Это учитывает случаи, такие как несовпадающие имена и непубличные реализации.
Например, следующее также является юридической реализацией IServiceProvider
Class Example
Implements IServiceProvider
Private Sub GetServiceWrongName(t As Type) As Object Implements IServiceProvider.GetService
...
End Sub
End Class
Это примерно соответствует следующему коду C #
class Example : IServiceProvider {
public object GetServiceWrongName(t as Type) {
..
}
object IServiceProvider.GetService(t as Type) {
return GetServiceWrongName(t);
}
}