Однофайловые сборки

61

Чтобы приступить к исследованию мира сборок .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

Очень важно знать то, что в диалоговом окне Add Reference на вкладке .NET отображаются далеко не все присутствующие на машине сборки. Специальные сборки и все сборки, которые размещены в GAC, например, здесь показаны не будут. Скорее, в этом диалоговом окне предлагается список лишь общих сборок, которые среда Visual Studio 2010 была изначально запрограммирована отображать. Поэтому при создании приложений, нуждающихся в использовании какой-то такой сборки, которая не отображается в окне Add Reference, необходимо перейти на вкладку Browse (Обзор) и вручную отыскать интересующий файл *.dll или *.ехе.

В следующей статье мы полностью разберем текущий пример.

Пройди тесты
Лучший чат для C# программистов