Учебно-методический комплекс общее количество часов 58 ч. Лекции 28 ч


Download 2.46 Mb.
bet77/91
Sana19.10.2023
Hajmi2.46 Mb.
#1709453
TuriУчебно-методический комплекс
1   ...   73   74   75   76   77   78   79   80   ...   91
Bog'liq
Язык программирования C#

17.3. Получение информации о типах

Оператор typeof() используется для получения объекта типа System.Type, заключающего в себе информацию о типе, переданном typeof(). Эту информацию можно за тем использовать либо для отражений, либо для приведений посредством is и as. Оператору typeof() передается имя некоторого типа, а он в свою очередь возвращает объект типа System.Type.


System.Type type = typeof(int);


Лист. 7.4

Оператор typeof() применяется для получения информации о типе по его имени. Возникает резонный вопрос: как же получить тип непосредственно из некоторого объекта? Для этого используется метод GetType(). Этот метод определен в базовом классе System.Object и неявно переопределяется каждым определенным вами типом. Напишем теперь небольшой пример, иллюстрирующий работы typeof(), GetType() и некоторыми членами класса System.Type.


using System;


using System.Reflection;

namespace Reflection


{
class Program
{
static void Main(string[] args)
{
// ключевое слово typeof()
Type t = typeof(string);
Console.WriteLine("Полное имя типа: " + t.Name);
Console.WriteLine("Пространство имен типа: " + t.Namespace);
// метод GetType
string MyString = "MyString";
t = MyString.GetType();

Console.WriteLine("Методы:");


MethodInfo[] methodInfo = t.GetMethods();
foreach (MethodInfo mInfo in methodInfo)
{
Console.WriteLine(mInfo.ToString());
}

Console.WriteLine("Поля:");


MemberInfo[] memberInfo = t.GetFields();
foreach (MemberInfo mInfo in memberInfo)
{
Console.WriteLine(mInfo.ToString());
}
Console.ReadLine();
}
}
}
Лист. 8.5

В этом листинге мы получаем информацию о типе string посредством сначала typeof(), а затем GetType(). В этом листинге используются некоторые методы класса Type, которые будут рассмотрены позднее и о которых можно подробнее прочесть в MSDN.


Полное имя типа: String


Пространство имен типа: System
Методы:
Char get_Chars(Int32)
Int32 get_Length()
Int32 IndexOf(Char, Int32, Int32)
…….
System.String Concat(System.String[])
System.String Intern(System.String)
System.String IsInterned(System.String)
System.TypeCode GetTypeCode()
System.CharEnumerator GetEnumerator()
System.Type GetType()
Поля:
System.String Empty
Вывод. 8.2



Download 2.46 Mb.

Do'stlaringiz bilan baham:
1   ...   73   74   75   76   77   78   79   80   ...   91




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling