- •Обзор
- •Типы сборок – разделяемая(shared)
- •Цели
- •Сборки (Assemblies)
- •Структура сборки
- •Создание сборок (Assemblies)
- •Создание выполняемого файла
- •Ссылка на сборку
- •Пространства имен и сборки
- •Типы сборок – закрытая(private)
- •Папка глобального кэша сборок
- •Сборки. Модификаторы доступа Internal
- •Контроль версий (Versioning)
- •Отражения (Reflection) 1
- •Отражения - пример
- •Отражения
- •Отражения. Свойства и методы объекта Type
- •Отражения. Метод GetMembers
- •Наборы (Collections)
- •Наборы - пример
- •Исключения (Exceptions)
- •Блоки try и catch
- •Больше о блоках catch
- •Общий (General) catch блок
- •Генерация исключений с помощью оператора throw
- •Использование блока Finally
- •Резюме
Папка глобального кэша сборок
Сборки. Модификаторы доступа Internal
|
|
Внешние методы не |
Внешние методы |
|
|
|
доступны извне |
|
доступны внутри |
|
|
|
сборки |
|
сборки |
|
|
|
|
|
Контроль версий (Versioning)
Все сборки должны иметь номер версии
Отражения (Reflection) 1
Используется для получения информации об объекте, его классах, методах и переменных во время выполнения программы.
Класс Type является базовым для всех отражений информации для любого объекта
Мы можем получить информацию об объекте следующими методами:
typeof()
GetType()
Отражения - пример
namespace Reflection_Example
{using System;
public class RefExample
{public int addition(int first, int second)
{
return first+second;
}
public static int Main()
{
Type refType= typeof(RefExample); |
//Class Reference |
RefExample objRef=new RefExample(); |
// Object Reference |
Type objType = objRef.GetType(); |
Console.WriteLine("The type of objRef is : {0} ", objType);
Console.WriteLine("The type of RefExample is : {0}", refType);
}
} }
Console.WriteLine("The Namespace of RefExample is : {0} ", refType.Namespace); return 0;
Отражения
Отражения. Свойства и методы объекта Type
Имя |
Описание |
|
|
GetMethods() |
Возвращает массив объектов MethodInfo, который |
|
описывает методы данного класса |
GetConstructors() |
Возвращает все конструкторы для объекта |
|
|
GetInterfaces() |
Возвращает все интерфейсы, реализованные для |
|
данного типа |
GetMembers() |
Возвращает все члены данного типа |
|
|
InvokeMember() |
Вызывает член данного типа |
|
|
IsAbstract |
Возвращает значение “Истина” для абстрактных |
|
типов |
IsEnum |
Возвращает значение “Истина” для перечислений |
|
|
Отражения. Метод GetMembers
namespace Reflection_Example |
|
|
{ using System; |
|
|
using System.Reflection; |
|
|
public class RefExample |
|
|
{ private int intSum; |
|
|
public void addition(int intA, int intB) |
||
{ |
intSum= intA+intB; |
} |
public static int Main()
{
Type refType= typeof(RefExample);
MemberInfo[] memInfoArray = refType.GetMembers(); foreach (MemberInfo memInfo in memInfoArray)
{
Console.WriteLine(memInfo);
}
return 0;
} }}
Наборы (Collections)
Наборы (Collections) являются типами данных общего назначения и позволяют нам выполнять над ними групповые действия
Содержит класс Hashtable, который позволяет хранить данные в виде набора пар “ключ -значение” и упорядочивается в зависимости от от хэш-кода ключа.
Наборы - пример
using System.Collections; class Test
{
static void Main()
{
Hashtable listOfStudents = new Hashtable(); listOfStudents.Add("Sam", "8605130"); listOfStudents.Add("Smith", "8604292"); listOfStudents.Add("Tom", "8604292"); System.Console.WriteLine("The number of students in the school
are {0} ", listOfStudents.Count);
}
}
