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

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)

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

Перейти на страницу:

Похожие книги

Программист-прагматик. Путь от подмастерья к мастеру
Программист-прагматик. Путь от подмастерья к мастеру

Находясь на переднем крае программирования, книга "Программист-прагматик. Путь от подмастерья к мастеру" абстрагируется от всевозрастающей специализации и технических тонкостей разработки программ на современном уровне, чтобы исследовать суть процесса – требования к работоспособной и поддерживаемой программе, приводящей пользователей в восторг. Книга охватывает различные темы – от личной ответственности и карьерного роста до архитектурных методик, придающих программам гибкость и простоту в адаптации и повторном использовании.Прочитав эту книгу, вы научитесь:Бороться с недостатками программного обеспечения;Избегать ловушек, связанных с дублированием знания;Создавать гибкие, динамичные и адаптируемые программы;Избегать программирования в расчете на совпадение;Защищать вашу программу при помощи контрактов, утверждений и исключений;Собирать реальные требования;Осуществлять безжалостное и эффективное тестирование;Приводить в восторг ваших пользователей;Формировать команды из программистов-прагматиков и с помощью автоматизации делать ваши разработки более точными.

Эндрю Хант , Дэвид Томас , А. Алексашин

Программирование / Книги по IT
Разработка ядра Linux
Разработка ядра Linux

В книге детально рассмотрены основные подсистемы и функции ядер Linux серии 2.6, включая особенности построения, реализации и соответствующие программны интерфейсы. Рассмотренные вопросы включают: планирование выполнения процессов, управление временем и таймеры ядра, интерфейс системных вызовов, особенности адресации и управления памятью, страничный кэш, подсистему VFS, механизмы синхронизации, проблемы переносимости и особенности отладки. Автор книги является разработчиком основных подсистем ядра Linux. Ядро рассматривается как с теоретической, так и с прикладной точек зрения, что может привлечь читателей различными интересами и потребностями.Книга может быть рекомендована как начинающим, так и опытным разработчикам программного обеспечения, а также в качестве дополнительных учебных материалов.

Роберт Лав

Программирование, программы, базы данных / Программирование / Книги по IT