Программирование мобильных устройств на платформе .NET Compact Framework (Салмре) - страница 595

>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


>'---------------------------------------------------