ВУЗ:
Составители:
Рубрика:
68 
экземпляру класса применять операцию нельзя, но зато для экземпляра можно 
вызвать  метод  GetType,  наследуемый  всеми  классами,  и  получить  тот  же 
результат,  что  дает  typeof  с  именем  данного  класса.  Такой  альтернативный 
способ получения  типа по  экземпляру класса  int показан  в приведенном  выше 
программном фрагменте.  В качестве примера использования вызова операции 
typeof добавим в метод sizeMetod следующие строки: 
t = typeof(Class1); 
Console.WriteLine("Тип класса Class1: {0}", t); 
t = typeof(Testing); 
Console.WriteLine("Тип класса Testing: {0}", t); 
Зная  информаицю  о  типе  класса,  можно  получить  подробную 
информацию  обо  всех  методах  и  полях  класса.  Ясно,  что  такая  информация 
может  быть  весьма  полезной,  если  класс  поставлен  сторонней  фирмой.  Для 
этого  используется  процесс  получения  метаданных,  называемый  отражением 
(reflection).  Рефлексия  является  очень  мощным  механизмом,  позволяющим 
даже  создавать  программный  код MSIL в  процессе  работы  приложения. 
Обсуждение рефлексии выходит за рамки данного учебного пособия. 
4.3.3. Операция new 
Последней  из  еще  не  рассмотренных  операций  высшего  уровня 
приоритета  является  операция  new.  Ключевое  слово new используется  в  двух 
контекстах – как  модификатор  и  как  операция  в  инициализирующих 
выражениях  объявителя.  Во  втором  случае  результатом  выполнения  операции 
new является создание нового объекта и вызов соответствующего конструктора. 
Примеров подобного использования операции new было приведено достаточно 
много. 
4.3.4. Арифметические операции 
В языке C# имеются обычные для всех языков арифметические операции:  
«+» (сложение), «–» (вычитание), «*» (умножение), «/», «%» (2 вида деления). 
Все они перегружены. Операции «+» и «–» могут быть унарными и бинарными. 
Операция  деления «/» над  целыми  типами  осуществляет  деление  нацело,  для 
типов с плавающей и фиксированной точкой – обычное деление. Операция «%» 
определена  над  всеми  арифметическими  типами  и  возвращает  остаток  от 
деления нацело. Тип результата зависит от типов операндов. Приведем пример 
вычислений с различными арифметическими типами: 
    /// <summary> 
    /// Арифметические операции 
    /// </summary> 
    public void Ariphmetica()   
    { 
      int   n = 7, m = 3, p, q; 
      p = n/m; 
Страницы
- « первая
- ‹ предыдущая
- …
- 62
- 63
- 64
- 65
- 66
- …
- следующая ›
- последняя »
