Вы должны обязательно использовать свойства. Весь смысл свойств заключается в том, что они ведут себя как поля извне, то есть вы устанавливаете их напрямую так же, как поля, но они ведут себя как методы изнутри, то есть вы можете добавить дополнительный код, такой как вычисления, проверка и повышение События. Вы можете самостоятельно объявить закрытые поля поддержки и полностью реализовать свойство, например
Public Class Card
Private _suit As String
Public Property Suit As String
Get
Return _suit
End Get
Set
_suit = value
End Set
End Property
End Class
Как видите, определение свойства включает методы Get и Set. Когда вы компилируете, это свойство Suit
фактически становится методом get_Suit
и set_Suit
.
Если вы не собираетесь делать ничего, кроме как получить и установить поле поддержки, вы можете использовать авто-свойство:
Public Class Card
Public Property Suit As String
End Class
Это компилируется точно в тот же код, что и первый фрагмент, частное поле поддержки и все, но вам гораздо проще писать.