Создание библиотеки

Для создания библиотеки следует при разработке проекта в среде Visual Studio.NET выбрать шаблон Class Library (библиотека классов). В главе 8 была создана про­стая иерархия классов персонажей компьютерной игры. В этом разделе мы офор­мим ее в виде библиотеки, то есть сборки с расширением dll. Для сборки задано имя MonsterLib (рис. 12.2).

Рис. 12.2. Создание библиотеки

Текст модуля приведен в листинге 12.1. По сравнению с модулем из главы 8 в него добавлены спецификаторы доступа public для всех трех классов, входящих в биб­лиотеку.

Листинг 12.1. Библиотека монстров

namespace MonsterLib

{

using System;

public abstract class Spirit

{

public abstract void Passport();

public class Monster: Spirit

{

public Monster()

{

this.health = 100;

this.ammo = 100; this.name = "Noname";

}

public Monster(string name)

: this()

{

this.name = name;

}

public Monster(int health, int ammo, string name)

{

this.health = health;

this.ammo = ammo; this.name = name;

}

public int Health

{

get

{

return health;

}

set

{

if (value > 0)

health = value;

else

health = 0;

}

}

public int Ammo

{

get

{

return ammo;

}

set

{

if (value > 0) ammo = value; else ammo = 0;

}

}

public string Name

{

get

{

return name;

}

}

override public void Passport()

{

Console.WriteLine("Monster {0} \t health = {1} ammo = {2}".

name, health, ammo);

}

string name; int health, ammo;

}

public class Daemon: Monster

{

public Daemon()

{

brain = 1;

}

public Daemon(string name, int brain)

: base(name)

{

this.brain = brain;

}

public Daemon(int health, int ammo, string name, int brain)

: base(health, ammo, name)

{

this.brain = brain;

}

override public void Passport()

{

Console.WriteLine(

"Daemon {0} \t health = {1} ammo = {2} rain = {3}".Name,

Health.Ammo, brain);

}

public void Think()

{

Console.Write(Name + " is");

for (int i = 0; i < brain; ++i) Console.Write(" thinking");

Console.WriteLine("...");

}

int brain;

}

}

}

Скомпилировав библиотеку, вы обнаружите файл MonsterLib.dll в каталогах...\bin\ Debug и...\obj\Debug. Открыв файл MonsterLib.dll с помощью программыILDasm.exe, можно получить полную информацию о созданной библиотеке (рис. 12.3).

Рис. 12.3. Просмотр библиотеки с помощью дизассемблера ILDasm.exe


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: