Классы с событиями, допустимые в каркасе .Net Framework

Написано admin в 20 Июнь 2008 – 21:43 -


Классы с событиями, допустимые в каркасе .Net Framework

Если создавать повторно используемые компоненты с событиями, работающие не только в проекте C#, то необходимо удовлетворять некоторым ограничениям. Эти требования предъявляются к делегату; они носят, скорее, синтаксический характер, не ограничивая существа дела.

Перечислю эти ограничения:

  • делегат, задающий тип события, должен иметь фиксированную сигнатуру из двух аргументов: delegate <Имя_делегата> (object sender, <Тип_аргументов> args);
  • первый аргумент задает объект sender, создающий сообщение. Второй аргумент args задает остальные аргументы – входные и выходные, – передаваемые обработчику. Тип этого аргумента должен задаваться классом, производным от встроенного в .Net Framework класса EventArgs. Если обработчику никаких дополнительных аргументов не передается, то следует просто указать класс EventArgs, передавая null в качестве фактического аргумента при включении события;
  • рекомендуемое имя делегата – составное, начинающееся именем события, после которого следует слово EventHandler, например, FireEventHandler. Если никаких дополнительных аргументов обработчику не передается, то тогда можно вообще делегата не объявлять, а пользоваться стандартным делегатом с именем EventHandler.

Tags: , , , , , , ,
Находится в Учебник | No Comments »

Класс Math и его функции

Написано admin в 20 Июнь 2008 – 21:05 -


Класс Math и его функции

Кроме переменных и констант, первичным материалом для построения выражений являются функции. Большинство их в проекте будут созданы самим программистом, но не обойтись и без встроенных функций. Умение работать в среде Visual Studio .Net предполагает знание встроенных возможностей этой среды, знание возможностей каркаса Framework .Net, пространств имен, доступных при программировании на языке C#, а также соответствующих встроенных классов и функций этих классов. Продолжим знакомство с возможностями, предоставляемыми пространством имен System. Мы уже познакомились с классом Convert этого пространства и частично с классом Console. Давайте рассмотрим еще один класс – класс Math, содержащий стандартные математические функции, без которых трудно обойтись при построении многих выражений. Этот класс содержит два статических поля, задающих константы E и PI, а также 23 статических метода. Методы задают:

  • тригонометрические функции – Sin, Cos, Tan;
  • обратные тригонометрические функции – ASin, ACos, ATan, ATan2 (sinx, cosx);
  • гиперболические функции – Tanh, Sinh, Cosh;
  • экспоненту и логарифмические функции – Exp, Log, Log10;
  • модуль, корень, знак – Abs, Sqrt, Sign;
  • функции округления – Ceiling, Floor, Round;
  • минимум, максимум, степень, остаток – Min, Max, Pow, IEEEReminder. Read more »

Tags: , , , , , , , , , , , , ,
Находится в Учебник | No Comments »

Система типов

Написано admin в 20 Июнь 2008 – 20:47 -


Система типов

Давайте рассмотрим, как устроена система типов в языке C#, но вначале для сравнения приведу классификацию типов в стандарте языка C++.

Стандарт языка C++ включает следующий набор фундаментальных типов.

  1. Логический тип (bool).
  2. Символьный тип (char).
  3. Целые типы. Целые типы могут быть одного из трех размеров – short, int, long, сопровождаемые описателем signed или unsigned, который указывает, как интерпретируется значение, – со знаком или без оного.
  4. Типы с плавающей точкой. Эти типы также могут быть одного из трех размеров – float, double, long double.

Кроме того, в языке есть

  1. Тип void, используемый для указания на отсутствие информации.

Язык позволяет конструировать типы.

  1. Указатели (например, int* – типизированный указатель на переменную типа int).
  2. Ссылки (например, double& – типизированная ссылка на переменную типа double).
  3. Массивы (например, char[] – массив элементов типа char).

Язык позволяет конструировать пользовательские типы

  1. Перечислимые типы (enum) для представления значений из конкретного множества.
  2. Структуры (struct).
  3. Классы. Read more »

Tags: , , , , , , , , , ,
Находится в Учебник | No Comments »

C# — язык программирования, сочетающий объектно-ориентированные и аспектно-ориентированные концепции. Разработан в 1998—2001 годах группой инженеров под руководством Андерса Хейлсберга в компании Microsoft как основной язык разработки приложений для платформы Microsoft .NET. Компилятор с C# входит в стандартную установку самой .NET, поэтому программы на нём можно создавать и компилировать даже без инструментальных средств вроде Visual Studio. Объекты недвижимости квартира в ялте риэлторские услуги. C# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к С++ и Java. Язык имеет строгую статическую типизацию, поддерживает полиморфизм, перегрузку операторов, указатели на функции-члены классов, атрибуты, события, свойства, исключения, комментарии в формате XML. Переняв многое от своих предшественников — языков С++, Java, Delphi, Модула и Smalltalk — С#, опираясь на практику их использования, исключает некоторые модели, зарекомендовавшие себя как проблематичные при разработке программных систем: так, C# не поддерживает множественное наследование классов (в отличие от C++).