- •Пространства имен
- •Обзор
- •Цели
- •Пространства имен
- •Объявление пространств имен
- •Объявление пространств имен – пример
- •Вложенные пространства имен
- •Модификаторы доступа и пространства имен
- •Уточненное именование
- •Не уточненное именование
- •Уточненное именование - пример
- •Директивы пространств имен using
- •Допустимые и
- •Неоднозначные имена
- •Уточненное
- •Использование
- •Библиотека базовых
- •Наиболее часто
- •Пространство имен System.Array
- •Пространство имен System.Array
- •Пространство имен
- •Пространство имен System.Threading
- •Пространство имен System.Threading – пример
- •Синхронизация нитей (Threads)
- •Пространство имен System.IO – Пример 1
- •Пространство имен System.IO – Пример 2
- •Пространство имен System.IO
- •Пространство имен System.String – пример
- •Пространство имен System.String
- •Пространство имен System.Collections.ArrayList
- •Пространство имен System.Collections.ArrayList
- •Резюме
Уточненное именование - пример
using Sony; using Samsung; using System; namespace Sony
{
namespace Television
{
class T14inches
{
public T14inches()
{
Console.WriteLine ("A 14inches
Television");
}
}
class T21inches
{
public T21inches()
{
Console.WriteLine ("A 21inches
Television");
} } }}
namespace Samsung
{
class Television
{
Sony.Television.T14inches myEntertainment = new Sony.Television.T14inches();
}
}
class Test
{
static void Main()
{
Samsung.Television myEntertainment = new Samsung.Television();
}
}
Директивы пространств имен using
Использование уточненного именования приводит к увеличению объема кода и трудности его чтения
...
Sony.Television.T14inches Television = new Sony.Television.T14inches();
...
Использование “директивы пространства имен using” позволяет использовать классы за пределами их пространств имен без использования для них уточненных
именusing Sony.Television;
T14inches Television = new T14inches();
T21inches Television2 = new T21inches();
Допустимые и
недопустимые объявления пространства имен
Директива using должна
находится перед любым
объявлением члена (класса)
Неоднозначные имена
using Sony; using Samsung; class Test
{
static void Main()
{
Television MyEntertainment = new Television();
}
}
Данный код вызовет ошибку, поскольку у нас нет альтернативы использования уточненных пространств имен
Уточненное
именование
using Sony; using Samsung; class Test
{
static void Main()
{
Samsung.Television MyEntertainment = new
Samsung.Television();
}
}
Использование
псевдонимов (alias) в директивах using
Использование псевдонимов (alias) в директивах using позволяют разместить единственный класс из конкретного пространства имен в текущую область
видимости
using T21inches = Sony.Televisions.T21inches; class Test
{
static void Main()
{
T21inches M = new T21inches();
}
}
using имя_псевдонима = уточненное_имя пространства_имен или класса
Библиотека базовых
классов .NET (Base Class Library)
Библиотека базовых классов (BCL) – это огромное количество готового кода, который можно без затруднения включать и использовать внутри своих приложений
BCL совместно используется всеми языками, поддерживаемыми .NET
Классы в BCL распределены по пространствам имен, в зависимости от их функциональных свойств
Наиболее часто
используемые пространства имен и классы
Пространство |
|
|
Содержимое |
|
|
имен/класс |
|
|
|
|
|
System |
Множество функциональных возможностей BCL включено |
||||
|
в это пространство имен. Оно состоит из разнообразных |
||||
|
вложенных пространств имен. |
|
|
||
System.Array class |
Содержит методы для работы с массивами. |
|
|||
|
|
||||
System.Threading |
Содержит классы для создания многопотоковой (Multi- |
||||
|
Threading) программы. |
|
|
|
|
|
|
|
|
|
|
System.Math class |
Содержит |
методы |
для |
вычисления |
различных |
|
математических функций. |
|
|
||
|
|
||||
System.IO |
Содержит функции для чтения / записи файлов и потоков. |
||||
|
|
||||
System.Reflection |
Содержит классы для чтения метаданных из сборок |
||||
|
(assemblies). |
|
|
|
|
|
|
||||
System.Net |
Содержит классы для доступа к сети интернет и для |
||||
|
программирования сокетов. |
|
|
||
|
|
|
|
|
|
Пространство имен System.Array
Предоставляет методы для работы над массивами
using System; class Test
{
static void Main() {int[] arrayToReverse=
{1,2,3,4,5,6,7};
Console.WriteLine("Contents of Array before Reversing:\n");
displayArray(arrayToReverse);
Array.Reverse(arrayToReverse);
Console.WriteLine("\n\nContents of Array after Reversing:\n");
displayArray(arrayToReverse);
}
public static void displayArray(Array myArray)
{
foreach(int arrValue in myArray)
{
Console.WriteLine(arrValue);
}
}
}