>Public ReadOnly Property getWordFunction() As WordFunction
> Get
> Return m_wordFunction
> End Get
>End Property
>Public ReadOnly Property getWordGender() As WordGender
> Get
> Return m_germanGender
> End Get
>End Property
>'-----------------------------------------------------------------
>'Возвращает слово на немецком языке, которому предшествует артикль
>'(например, 'der', 'die', 'das'), если он существует
>'-----------------------------------------------------------------
>Public ReadOnly Property GermanWordWithArticleIfExists() As String
> Get
> If (m_germanGender = WordGender.notApplicable) Then
> Return Me.GermanWord
> End If
> Return Me.GenderArticle + " " + Me.GermanWord
> End Get
>End Property
>Public ReadOnly Property GenderArticle() As String
> Get
> Select Case (m_germanGender)
> Case WordGender.Masculine
> Return "der"
> Case WordGender.Feminine
> Return "die"
> Case WordGender.Neuter
> Return "das"
> End Select
> Return ""
> End Get
>End Property
>Public Sub New(ByVal enlgishWord As String, ByVal germanWord _
> As String, ByVal germanGender As WordGender, _
> ByVal wordFunction As WordFunction)
> m_englishWord = enlgishWord
> m_germanWord = germanWord
> m_germanGender = germanGender
> m_wordFunction = wordFunction
> End Sub
>End Class
Примеры к главе 15 (передача данных)
Листинг 15.1. Простой код файлового ввода-вывода, иллюстрирующий различия между локальной и удаленной передачей данных
Этот код представляет собой всего лишь последовательность вызовов функций. Программистам на VB будет несложно написать его, используя в качестве образца код на C#.
Листинг 15.2. Имитация сбоев при передаче данных для тестирования приложения
>'Флаги условной компиляции для нашего инструментированного кода
>#Const DEBUG_SIMULATE_FAILURES = 1 'Имитировать сбои
>'#Const DEBUG_SIMULATE_FAILURES = 0 'Не имитировать сбои
>'-----------------------------------------------------------------
>'Глобальная переменная, которую мы хотим использовать для указания
>'необходимости генерации исключений в процессе передачи данных
>'-----------------------------------------------------------------
>#If DEBUG_SIMULATE_FAILURES <> 0 Then
>'Переменная для хранения информация о следующем сбое
>Shared g_failureCode As SimulatedFailures = _
> SimulatedFailures.noFailurePending
>'Список сбоев, которые мы хотим имитировать
>public enum SimulatedFailures
> noFailurePending 'No test failures pending
> 'Имитируемые сбои:
> failInNextWriteSocketCode
> failInNextWebServiceCall
> failInNextFileIODuringFileOpen
> failInNextFileIODuringFileRead
> 'и так далее
>End Enum
>#End If 'DEBUG_SIMULATE_FAILURES
>'---------------------------------------------------