<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Программирование на Си - C-sharp &#187; void</title>
	<atom:link href="http://www.c-help.net/tag/void/feed" rel="self" type="application/rss+xml" />
	<link>http://www.c-help.net</link>
	<description></description>
	<lastBuildDate>Fri, 20 Jun 2008 19:02:22 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Список с курсором. Динамические структуры данных</title>
		<link>http://www.c-help.net/190.html</link>
		<comments>http://www.c-help.net/190.html#comments</comments>
		<pubDate>Fri, 20 Jun 2008 19:01:10 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Учебник]]></category>
		<category><![CDATA[elem]]></category>
		<category><![CDATA[empty]]></category>
		<category><![CDATA[ensure]]></category>
		<category><![CDATA[Figure]]></category>
		<category><![CDATA[last]]></category>
		<category><![CDATA[newitem]]></category>
		<category><![CDATA[prev]]></category>
		<category><![CDATA[public]]></category>
		<category><![CDATA[require]]></category>
		<category><![CDATA[right]]></category>
		<category><![CDATA[start]]></category>
		<category><![CDATA[void]]></category>

		<guid isPermaLink="false">http://www.c-help.net/?p=190</guid>
		<description><![CDATA[





Список с курсором. Динамические структуры данных
Добавим в проект классы, задающие динамические структуры данных. Конечно, можно было бы воспользоваться стандартными&#8230; Но для обучения крайне полезно уметь создавать собственные классы, задающие такие структуры данных. Список с курсором &#8211; один из важнейших образцов подобных классов%:
using System;
namespace Shapes
{
 /// &#60;summary&#62;
 /// Класс TwoWayList(G)  описывает двусвязный список с 
 /// [...]]]></description>
		<wfw:commentRss>http://www.c-help.net/190.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Огранизация меню в формах</title>
		<link>http://www.c-help.net/186.html</link>
		<comments>http://www.c-help.net/186.html#comments</comments>
		<pubDate>Fri, 20 Jun 2008 18:57:08 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Учебник]]></category>
		<category><![CDATA[ColorDialog]]></category>
		<category><![CDATA[ContextMenu]]></category>
		<category><![CDATA[Controls]]></category>
		<category><![CDATA[DialogResult]]></category>
		<category><![CDATA[index]]></category>
		<category><![CDATA[Menu]]></category>
		<category><![CDATA[Text]]></category>
		<category><![CDATA[ToolBar]]></category>
		<category><![CDATA[void]]></category>

		<guid isPermaLink="false">http://www.c-help.net/?p=186</guid>
		<description><![CDATA[





Огранизация меню в формах
Важными атрибутами интерфейса являются меню и инструментальные панели с кнопками. Рассмотрим, как организуются эти элементы интерфейса в формах. Меню и панели с кнопками можно создавать как вручную в режиме проектирования, так и программно.
Несколько слов о терминологии. Когда мы говорим о меню, то имеем в виду некоторую структуру, организованную в виде дерева. Меню [...]]]></description>
		<wfw:commentRss>http://www.c-help.net/186.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Проект &#8220;Город и его службы&#8221;</title>
		<link>http://www.c-help.net/177.html</link>
		<comments>http://www.c-help.net/177.html#comments</comments>
		<pubDate>Fri, 20 Jun 2008 18:47:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Учебник]]></category>
		<category><![CDATA[base]]></category>
		<category><![CDATA[Build]]></category>
		<category><![CDATA[BuildingNumber]]></category>
		<category><![CDATA[Fire]]></category>
		<category><![CDATA[FireEventArgs]]></category>
		<category><![CDATA[FireEventHandler]]></category>
		<category><![CDATA[fireman]]></category>
		<category><![CDATA[LifeOurTown]]></category>
		<category><![CDATA[NewTown]]></category>
		<category><![CDATA[Override]]></category>
		<category><![CDATA[permit]]></category>
		<category><![CDATA[Police]]></category>
		<category><![CDATA[receiver]]></category>
		<category><![CDATA[TownSize]]></category>
		<category><![CDATA[void]]></category>

		<guid isPermaLink="false">http://www.c-help.net/?p=177</guid>
		<description><![CDATA[





Проект &#8220;Город и его службы&#8221;
Завершить лекцию о событиях хочется содержательным учебным проектом, в котором моделируется жизнь города, происходящие в нем события и реакция на них городских служб. Наша главная цель в данном проекте &#8211; еще раз показать, как возникающее событие, в данном случае &#8211; пожар в одном из домов города, обрабатывается по-разному городскими службами &#8211; [...]]]></description>
		<wfw:commentRss>http://www.c-help.net/177.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Две проблемы с обработчиками событий</title>
		<link>http://www.c-help.net/175.html</link>
		<comments>http://www.c-help.net/175.html#comments</comments>
		<pubDate>Fri, 20 Jun 2008 18:45:38 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Учебник]]></category>
		<category><![CDATA[ChangedEventArgs]]></category>
		<category><![CDATA[event]]></category>
		<category><![CDATA[int]]></category>
		<category><![CDATA[item]]></category>
		<category><![CDATA[ListWithChangedEvent]]></category>
		<category><![CDATA[null]]></category>
		<category><![CDATA[OffConnect]]></category>
		<category><![CDATA[OnChanged]]></category>
		<category><![CDATA[OnConnect]]></category>
		<category><![CDATA[permit]]></category>
		<category><![CDATA[receiver]]></category>
		<category><![CDATA[void]]></category>

		<guid isPermaLink="false">http://www.c-help.net/?p=175</guid>
		<description><![CDATA[





Две проблемы с обработчиками событий
Объекты, создающие события, ничего не знают об объектах, обрабатывающих эти события. Объекты, обрабатывающие события, ничего не знают друг о друге, независимо выполняя свою работу. В такой модели могут возникать определенные проблемы. Рассмотрим некоторые из них.
Игнорирование коллег
Задумывались ли вы, какую роль играет ключевое слово event, появляющееся при объявлении события? Событие, объявленное в [...]]]></description>
		<wfw:commentRss>http://www.c-help.net/175.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Класс sender. Как объявляются события?</title>
		<link>http://www.c-help.net/171.html</link>
		<comments>http://www.c-help.net/171.html#comments</comments>
		<pubDate>Fri, 20 Jun 2008 18:42:23 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Учебник]]></category>
		<category><![CDATA[Class]]></category>
		<category><![CDATA[delegate]]></category>
		<category><![CDATA[event]]></category>
		<category><![CDATA[FireEventHandler]]></category>
		<category><![CDATA[namespace]]></category>
		<category><![CDATA[OnFire]]></category>
		<category><![CDATA[sender]]></category>
		<category><![CDATA[time]]></category>
		<category><![CDATA[TownWithEvents]]></category>
		<category><![CDATA[void]]></category>

		<guid isPermaLink="false">http://www.c-help.net/?p=171</guid>
		<description><![CDATA[





Класс sender. Как объявляются события?
При проектировании класса с событиями, возможно, самое трудное &#8211; содержательная сторона дела. Какими событиями должен обладать класс, в каких методах и в какой момент зажигать то или иное событие?
Содержательную сторону будем пояснять на содержательных примерах. А сейчас рассмотрим технический вопрос: как объявляются события средствами языка С#? Прежде всего, уточним, что такое [...]]]></description>
		<wfw:commentRss>http://www.c-help.net/171.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Как определяется функциональный тип и как появляются его экземпляры</title>
		<link>http://www.c-help.net/167.html</link>
		<comments>http://www.c-help.net/167.html#comments</comments>
		<pubDate>Fri, 20 Jun 2008 18:37:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Учебник]]></category>
		<category><![CDATA[Account]]></category>
		<category><![CDATA[Console]]></category>
		<category><![CDATA[delegate]]></category>
		<category><![CDATA[Fun]]></category>
		<category><![CDATA[namespace]]></category>
		<category><![CDATA[Person]]></category>
		<category><![CDATA[Plus]]></category>
		<category><![CDATA[Proc]]></category>
		<category><![CDATA[TestOwnDel]]></category>
		<category><![CDATA[void]]></category>
		<category><![CDATA[WriteLine]]></category>

		<guid isPermaLink="false">http://www.c-help.net/?p=167</guid>
		<description><![CDATA[





Как определяется функциональный тип и как появляются его экземпляры
Слово делегат (delegate) используется в C# для обозначения хорошо известного понятия. Делегат задает определение функционального типа (класса) данных. Экземплярами класса являются функции. Описание делегата в языке C# представляет собой описание еще одного частного случая класса. Каждый делегат описывает множество функций с заданной сигнатурой. Каждая функция (метод), сигнатура [...]]]></description>
		<wfw:commentRss>http://www.c-help.net/167.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Интерфейсы</title>
		<link>http://www.c-help.net/165.html</link>
		<comments>http://www.c-help.net/165.html#comments</comments>
		<pubDate>Fri, 20 Jun 2008 18:33:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Учебник]]></category>
		<category><![CDATA[ClainP]]></category>
		<category><![CDATA[ClainT]]></category>
		<category><![CDATA[ClainTwo]]></category>
		<category><![CDATA[FromInterface]]></category>
		<category><![CDATA[interface]]></category>
		<category><![CDATA[IPropsOne]]></category>
		<category><![CDATA[MyProp]]></category>
		<category><![CDATA[name]]></category>
		<category><![CDATA[param]]></category>
		<category><![CDATA[summary]]></category>
		<category><![CDATA[TestClainIProps]]></category>
		<category><![CDATA[TestCliTwoInterfaces]]></category>
		<category><![CDATA[val]]></category>
		<category><![CDATA[void]]></category>
		<category><![CDATA[WriteLine]]></category>

		<guid isPermaLink="false">http://www.c-help.net/?p=165</guid>
		<description><![CDATA[





Интерфейсы
Слово &#8220;интерфейс&#8221; многозначное и в разных контекстах оно имеет различный смысл. В данной лекции речь идет о понятии интерфейса, стоящем за ключевым словом interface. В таком понимании интерфейс &#8211; это частный случай класса. Интерфейс представляет собой полностью абстрактный класс, все методы которого абстрактны. От абстрактного класса интерфейс отличается некоторыми деталями в синтаксисе и поведении. Синтаксическое [...]]]></description>
		<wfw:commentRss>http://www.c-help.net/165.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Перечисления</title>
		<link>http://www.c-help.net/163.html</link>
		<comments>http://www.c-help.net/163.html#comments</comments>
		<pubDate>Fri, 20 Jun 2008 18:30:53 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Учебник]]></category>
		<category><![CDATA[businessman]]></category>
		<category><![CDATA[Console]]></category>
		<category><![CDATA[man]]></category>
		<category><![CDATA[MyColors]]></category>
		<category><![CDATA[Profession]]></category>
		<category><![CDATA[Rainbow]]></category>
		<category><![CDATA[Sex]]></category>
		<category><![CDATA[ToString]]></category>
		<category><![CDATA[Tue]]></category>
		<category><![CDATA[TwoColors]]></category>
		<category><![CDATA[void]]></category>
		<category><![CDATA[Wed]]></category>
		<category><![CDATA[woman]]></category>
		<category><![CDATA[WriteLine]]></category>

		<guid isPermaLink="false">http://www.c-help.net/?p=163</guid>
		<description><![CDATA[





Перечисления
Перечисление &#8211; это частный случай класса, класс, заданный без собственных методов. Перечисление задает конечное множество возможных значений, которые могут получать объекты класса перечисление. Поскольку у перечислений нет собственных методов, то синтаксис объявления этого класса упрощается &#8211; остается обычный заголовок и тело класса, содержащее список возможных значений. Вот формальное определение синтаксиса перечислений:
[атрибуты][модификаторы]enum имя_перечисления[:базовый класс]
{список_возможных_значений}
Описание атрибутов отложим [...]]]></description>
		<wfw:commentRss>http://www.c-help.net/163.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Структуры</title>
		<link>http://www.c-help.net/162.html</link>
		<comments>http://www.c-help.net/162.html#comments</comments>
		<pubDate>Fri, 20 Jun 2008 18:30:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Учебник]]></category>
		<category><![CDATA[Abs]]></category>
		<category><![CDATA[Class]]></category>
		<category><![CDATA[int]]></category>
		<category><![CDATA[Math]]></category>
		<category><![CDATA[nod]]></category>
		<category><![CDATA[Object]]></category>
		<category><![CDATA[PrintRational]]></category>
		<category><![CDATA[struct]]></category>
		<category><![CDATA[TwoSemantics]]></category>
		<category><![CDATA[void]]></category>

		<guid isPermaLink="false">http://www.c-help.net/?p=162</guid>
		<description><![CDATA[





Структуры
Рассмотрим теперь более подробно вопросы описания структур, их синтаксиса, семантики и тех особенностей, что отличают их от классов.
Синтаксис структур
Синтаксис объявления структуры аналогичен синтаксису объявления класса:
[атрибуты][модификаторы]struct имя_структуры[:список_интерфейсов]
{тело_структуры}
Какие изменения произошли в синтаксисе в сравнении с синтаксисом класса, описанным в лекции 16? Их немного. Перечислим их:

ключевое слово class изменено на слово struct; 
список родителей, который для классов, наряду [...]]]></description>
		<wfw:commentRss>http://www.c-help.net/162.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Синтаксис класса</title>
		<link>http://www.c-help.net/159.html</link>
		<comments>http://www.c-help.net/159.html#comments</comments>
		<pubDate>Fri, 20 Jun 2008 18:27:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Учебник]]></category>
		<category><![CDATA[Child]]></category>
		<category><![CDATA[Console]]></category>
		<category><![CDATA[const]]></category>
		<category><![CDATA[Fam]]></category>
		<category><![CDATA[message]]></category>
		<category><![CDATA[name]]></category>
		<category><![CDATA[Rational]]></category>
		<category><![CDATA[return]]></category>
		<category><![CDATA[status]]></category>
		<category><![CDATA[summary]]></category>
		<category><![CDATA[TestPersonChildren]]></category>
		<category><![CDATA[TestPersonProps]]></category>
		<category><![CDATA[void]]></category>
		<category><![CDATA[Write-only]]></category>

		<guid isPermaLink="false">http://www.c-help.net/?p=159</guid>
		<description><![CDATA[





Синтаксис класса
Ни одна из предыдущих лекций не обходилась без появления классов и обсуждения многих деталей, связанных с ними. Сейчас попробуем сделать некоторые уточнения, подвести итоги и с новых позиций взглянуть на уже знакомые вещи. Начнем с синтаксиса описания класса:
[атрибуты][модификаторы]class имя_класса[:список_родителей]
{тело_класса}
Атрибутам будет посвящена отдельная лекция. Возможными модификаторами в объявлении класса могут быть модификаторы new, abstract, sealed, [...]]]></description>
		<wfw:commentRss>http://www.c-help.net/159.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

