Обычно лучше иметь заголовочный файл для каждого.c файла, содержа объявления для функций и т.д. в.c файле, который Вы хотите представить. Тем путем другой.c файл может включать.h файл для функций, в которых он нуждается и не должен будет быть перекомпилирован, если заголовочный файл, который он не включал, был изменен.
В VB.NET используйте оператор Widening CType для создания неявного преобразования:
Class C1
Public Shared Widening Operator CType(ByVal p1 As C1) As C2
End Operator
End Class
Противоположное, явное преобразование, может быть выполнено путем замены сужения
на Расширение
в приведенном выше определении.