Почему версия VB не улавливает несоответствие типов?
Вы уже получили ответ на этот вопрос от Bala R & mdash; попробуйте Option Strict On
.
Различаются ли enum в VB и C #?
Это не сами enum
, которые отличаются (ваши объявления как в C #, так и в VB.NET настолько эквивалентны друг другу, насколько они могут быть, и, по всей вероятности, приведут к одинаковому "байт-коду" CIL). Скорее, компиляторы отличаются безопасностью типов, которую они обеспечивают во время компиляции / неявным приведением типов, которое они допускают.
Если безопасность типов очень важна для вас, тогда, вероятно, enum
не лучший вариант. Даже C # позволяет (явно) приводить значение одного типа enum
к другому типу enum
.