Редко хорошая идея сделать строгое преобразование с одного языка на другой, особенно когда они отличаются от VB5 и C #.
Теоретически, вы можете конвертировать VB5 в VB6, а затем VB6 в VB.NET, а затем VB.NET в C #, но для меня это просто безумие, когда я его печатаю.
C # настолько мощнее, чем VB5, что вы не захотите все равно скрывать код. В конце концов, он, вероятно, имеет плохой дизайн из-за слабых возможностей OB.
Вместо этого я бы порекомендовал повторно реализовать необходимые вам функции в C # (или на любом другом языке, который вы хотите использовать).