Главная » Статьи для тега "public"

Организация проектов динамической загрузки в Visual C# (Sharp)

Добавлено Дата: 27 March, 2014 категория: C#

Для примеров этой главы определены четыре проекта:

•I Definitions — библиотека класса, содержащая определения интерфейса IDefignition И класса ConfigurationLoader. Класс ConfigurationLoader будет содержать       функциональность       для       динамической       загрузки       сборок

Читать »

Код для алгоритма поиска в глубину на Visual C# (Sharp)

Добавлено Дата: 23 March, 2014 категория: C#

Алгоритм поиска в глубину будет реализован в три основных  этапа.  На  первом этапе определяется и реализуется структура данных. На втором этапе реализуются алгоритм и тесты. На последнем этапе алгоритм запускается в рабочем  режиме, чтобы проверить, какой маршрут он сгенерирует.

Читать »

Ограничения обобщений .NET в Visual C# (Sharp)

Добавлено Дата: 17 March, 2014 категория: C#

Обобщения .NET рассматривались в  нескольких главах этой книги. Дополнителым аспектом обобщений .NET являются ограничения, которые  можно  использать для оптимизации кода. Обобщения .NET не обязательно должны быть просто "черными ящиками". Код может обращаться к методам и свойствам, при условии, что в нем применяются ограничения.

Читать »

Написание библиотек Processing

Добавлено Дата: 16 March, 2014 категория: Processing

Теперь, когда вы установили шаблон библиотеки, настало время засучить рукава и занятя кодом Java. Мы напишем небольщую бибилотеку для рисования шестиугольников и звезд. Ничего особенного, просто небольшой пример того, как создаются библиотеки.

Приступим

Читать »

Директивы препроцессора в Visual C# (Sharp)

Добавлено Дата: 5 March, 2014 категория: C#

Ранее в этой главе рассматривалось использование символа # и условных оператов для включения или исключения кода из компиляции. На техническом жаргоне это называется предварительной обработкой (preprocessing) кода, а операторы нываются директивами препроцессора. В табл. 6.1 приведен список директив прроцессора.

Читать »

Обобщения .NET

Добавлено Дата: 5 March, 2014 категория: C#

В главе 9 мы рассмотрели использование списков, делегатов и лямбда-выражений. Там же был показан пример обобщений .NET при использовании списков для управления коллекцией объектов. В этой главе мы рассмотрим обобщения  .NET более подробно, включая использование их в контексте черного ящика (т. е. когда код ничего не знает о специфике типов параметров обобщений .NET). Кроме этого, будет представлена более подробно реализация лямбда-выражений. Для демонсации этих концепций мы расширим пример электронной таблицы,  использоваый  в  главе  9.  Цель —  приобретение  хорошего  опыта  в  применении  обобщений и лямбда-выражений .NET, которые вы, скорее всего, будете использовать в своем рабочем коде. Это позволит снизить возможность возникновения неприятных сюризов при разработке проектов.

Читать »

Вычисление функций – функциональное программирование

Добавлено Дата: 1 March, 2014 категория: C#

В то время как неизменяемые типы и чистые функции, несомненно, являются пезными, они требуют определенного образа программирования. В некоторых слаях создание неизменяемого объекта может быть невозможным. В таком случае можно написать код с побочными эффектами и надеяться  на лучшее.  Но имеется и другое решение, основанное на том, каким образом вычисляются функции.

Читать »

Перегрузка операторов в Visual C# (Sharp)

Добавлено Дата: 28 February, 2014 категория: C#

Как было сказано, оператор + ведет себя по-разному с типами string и int. Спривается, каким образом применение оператора  + со строковым типом  изменяет его поведение? Изменить поведение оператора + можно, реализовав его в пользовельском типе.

Для примера, рассмотрим пошагово реализацию оператора + для комплексного члового типа. Комплексные числа состоят из двух частей: вещественной и мнимой. Например, в комплексном числе а+ь часть а является вещественной, а часть ь — мнимой. При сложении комплексных чисел, складываются их соответствующие вещественные и мнимые части. Далее приводится объявление комплексного числа: public sealed class ComplexType {

Читать »

Определение теста для алгоритма поиска в глубину на Visual C# (Sharp)

Добавлено Дата: 23 February, 2014 категория: C#

Тип Node является автономным типом. Это означает, что алгоритму не требуется создавать  экземпляр  древовидной  структуры.  Это  пример  хорошего  проектировия, т. к. в случае необходимости добавить новые города нужно  будет  изменить только сам тип  Node. Любой  алгоритм  поиска,  использующий  тип  Node, изменять не  потребуется.

Читать »

Верификация в приложении обмена валют в Visual C# (Sharp)

Добавлено Дата: 18 February, 2014 категория: C#

Для выполнения тестового класса TestcurrencyTrader применяется следующий код: TestCurrencyTrader els = new TestCurrencyTrader();  els.IntializeExchangeRate() ;

В модифицированном тестовом коде создается экземпляр класса Testcur- rencyTester, после чего вызывается метод InitializeExchangeRate(). Но являея ли данный код тестом? Ведь метод InitializeExchangeRate () не возвращает значение и не имеет выходного параметра. Такой тест можно сравнить с отправлием письма по почте. Хотя, скорее всего, письмо дойдет до адресата, полной увенности в этом нет. Использование тестов, об успешном завершении которых можно судить только с определенной вероятностью, является очень плохой идеей.

Читать »

Обработка незавершенных задач с помощью finally в Visual C# (Sharp)

Добавлено Дата: 16 February, 2014 категория: C#

Проблему излишней раскрутки стека проще всего решить с помощью  ключевого слова finally, которое гарантирует выполнение определенного фрагмента кода, независимо от того, было ли выброшено исключение. В следующем фрагменте пазан код из рис. 5.6, модифицированный с применением ключевого слова finally. Этот код присваивает члену данных depth правильное значение,

Читать »

Маршаллинг данных конфигурационного файла в Visual C# (Sharp)

Добавлено Дата: 16 February, 2014 категория: C#

Когда  мы  хотим  использовать  в  конфигурационном   файле  специальный  узел, то нам нужно реализовать специальный класс, производный от класса System.Configuration.ConfigurationSection. Этот специальный класс требуется для обработки  и структурирования данных в конфигурационном  файле  в формат, в котором пользователь может манипулировать ими. Иными словами, мы маршаллизуем данные из конфигурационного файла в среду .NET.

Читать »

Культурная среда в Visual C# (Sharp)

Добавлено Дата: 3 February, 2014 категория: C#

В .NET информация о культурной среде указывается с помощью двух идентификоров: языка и региональных стандартов. Как было упомянуто ранее, в Швейцарии разговаривают на четырех языках. Это означает, что  дата,  время  и  денежная  едица выражаются в четырех разных способах. Это не означает, что формат даты разный в немецком и французском языках. Но при одинаковом формате слова для обозначения марта — Maerz или Mars —  будут  разными.  С  другой  стороны,  слова для обозначения дат одинаковые в Австрии, Швейцарии  и  Германии,  но  формат даты разный. Это означает,  что для  стран  с  несколькими  языками,  например  Каны (французский и английский) или Люксембурга (французский и немецкий), нбходимо применение нескольких кодировок, отсюда и надобность в двух идентикаторах. Информацию  о  культурной  среде  можно  извлечь  с  помощью следующего   кода:

Читать »

Частные классы и инициализация объектов в Visual C# (Sharp)

Добавлено Дата: 30 January, 2014 категория: C#

В этой главе мы рассмотрели, как использовать интерфейсы, реализации и компенты в приложениях на основе ядра. Это в большой мере тот тип программировия, с которым вы будете сталкиваться по мере пользования языком С#. В этом разделе предоставляется дополнительная информация об использовании частных классов и об инициализации объектов вложенными типами данных.

Читать »

Определение интерфейсов серверной электронной таблицы в Visual C# (Sharp)

Добавлено Дата: 30 January, 2014 категория: C#

Определение интерфейсов для серверной электронной таблицы является довольно сложной задачей по причине выдвигаемых к ней требований. Согласно требованм, производительность  и легкость  использования  являются  важными  аспектами. В данном случае это довольно высокие требования, как мы увидим в процессе роты над примером. Применим восходящий подход к разработке и выполним оее определение интерфейсов.

Читать »