Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Аддитивный характер пространств имен





Под одним именем можно объявить несколько пространств имен. Это дает возможность распределить пространство имен по нескольким файлам или даже разделить его в пределах одного и того же файла исходного кода. Например, в приведенной ниже программе два пространства имен определяются под одним и тем же именем Counter. Одно из них содержит класс CountDown, а другое — класс CountUp. Во время компиляции содержимое обоих пространств имен Counter складывается.

// Аддитивный характер пространств имен.

using System;

// Сделать видимым пространство имен Counter.

using Counter;

// Это одно пространство имен Counter.

namespace Counter

{

// Простой вычитающий счетчик.

class CountDown

{

int val;

public CountDown(int n)

{

val = n;

}

public void Reset(int n)

{

val = n;

}

public int Count()

{

if (val > 0) return val--;

else return 0;

}

}

}

// А это другое пространство имен Counter.

namespace Counter

{

// Простой суммирующий счетчик.

class CountUp

{

int val;

int target;

public int Target

{

get

{

return target;

}

}

public CountUp(int n)

{

target = n;

val = 0;

}

public void Reset(int n)

{

target = n;

val = 0;

}

public int Count()

{

if (val < target) return val++;

else return target;

}

}

}

class NSDemo5

{

static void Main()

{

CountDown cd = new CountDown(10);

CountUp cu = new CountUp(8);

int i;

do

{

i = cd.Count();

Console.Write(i + " ");

} while (i > 0);

Console.WriteLine();

do

{

i = cu.Count();

Console.Write(i + " ");

} while (i < cu.Target);

}

}

10 9 8 7 6 5 4 3 2 1 0

0 1 2 3 4 5 6 7 8

Обратите также внимание на то, что директива

using Counter;

делает видимым все содержимое пространства имен Counter. Это дает возможность обращаться к классам CountDown и CountUp непосредственно, т.е. без дополнительного указания пространства имен. При этом разделение пространства имен Counter на две части не имеет никакого значения.

Вложенные пространства имен

 

 

 

 

 

 

 

 

 

Date: 2015-09-02; view: 418; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию