Однофайловые сборки
61C# --- Сборки .NET --- Однофайловые сборки
Чтобы приступить к исследованию мира сборок .NET, давайте вначале попробуем создать однофайловую сборку *.dll с небольшим набором общедоступных типов.
Для построения библиотеки кода в Visual Studio 2010 необходимо создать проект типа Class Library (Библиотека классов), выбрав в меню File (Файл) пункт New Project (Новый проект), как показано на рисунке:
// Файл class1.cs
using System;
namespace ShopAuto
{
interface IBaseInfo
{
string InfoCars();
int AllCostAuto();
}
public class Shop : IBaseInfo
{
public string Name { get; set; }
public int MaxSpeed { get; set; }
public int Cost { get; set; }
public double Discount { get; set; }
public Shop() { }
public Shop(string Name, int MaxSpeed, int Cost, double Discount)
{
this.Name = Name;
this.MaxSpeed = MaxSpeed;
this.Cost = Cost;
this.Discount = Discount;
}
public string InfoCars()
{
return String.Format(@"Информация об авто:
------------------
Марка: \t{0}
Макс. скорость: \t{1}
Стоимость: \t{2}
Скидка: \t{3}",this.Name,this.MaxSpeed,this.Cost,this.Discount);
}
public int AllCostAuto()
{
return (int)(Discount*Cost/100);
}
public override string ToString()
{
return this.InfoCars();
}
}
}
// Файл Class2.cs
using System;
using System.Windows.Forms;
namespace ShopAuto
{
class HatchBack : Shop
{
public HatchBack() { }
public HatchBack(string Name, int MaxSpeed, int Cost, double Discount)
: base(Name, MaxSpeed, Cost, Discount)
{}
public void Inf()
{
MessageBox.Show("Тип хэтч-бэк",this.ToString());
}
}
}
Обратите внимание, что в каждом из подклассов метод Inf() реализуется с использованием класса MessageBox, определение которого содержится в сборке System.Windows.Forms.dll. Для использования в своей сборке типов, определенных внутри такой внешней сборки, в проект обязательно понадобится добавить ссылку на соответствующий двоичный файл с помощью диалогового окна Add Reference (Добавление ссылки), которое показано на рисунке (чтобы открыть его, выберите в меню Project (Проект) пункт Add Reference (Добавить ссылку)):
Очень важно знать то, что в диалоговом окне Add Reference на вкладке .NET отображаются далеко не все присутствующие на машине сборки. Специальные сборки и все сборки, которые размещены в GAC, например, здесь показаны не будут. Скорее, в этом диалоговом окне предлагается список лишь общих сборок, которые среда Visual Studio 2010 была изначально запрограммирована отображать. Поэтому при создании приложений, нуждающихся в использовании какой-то такой сборки, которая не отображается в окне Add Reference, необходимо перейти на вкладку Browse (Обзор) и вручную отыскать интересующий файл *.dll или *.ехе.
В следующей статье мы полностью разберем текущий пример.