Чтение онлайн

ЖАНРЫ

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

Салмре Иво

Шрифт:

<System.FlagsAttribute> _

 Public Enum WordFunction

 Noun = 1

 Verb = 2

 Pronoun = 4

 Adverb = 8

 Adjective = 16

 Preposition = 32

 Phrase = 64

End Enum

Public Enum WordGender

 notApplicable = 0

 Masculine = 1

 Feminine = 2

 Neuter = 3

End Enum

Private m_englishWord As String

Private m_germanWord As String

Private m_germanGender As VocabularyWord.WordGender

Private m_wordFunction As VocabularyWord.WordFunction

Public ReadOnly Property EnglishWord As String

 Get

Return m_englishWord

 End Get

End Property

Public ReadOnly Property GermanWord As String

 Get

Return m_germanWord

 End Get

End Property

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

'---------------------------------------------------

'Функция, которую мы используем для передачи данных.

'---------------------------------------------------

Private Sub writeDataToSocket( _

 ByVal mySocket As System.Net.Sockets.Socket, _

 ByVal dataToSend As Byte)

 '------------------------------------------------------------------

 'Этот код следует компилировать лишь при тестировании сетевых сбоев

 '------------------------------------------------------------------

Поделиться с друзьями: