Книга: ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание

Создание CommonSnappableTypes.dll

Создание CommonSnappableTypes.dll

Первой нашей задачей является создание компоновочного блока, содержащего типы, которые должен использовать каждый подключаемый модуль, чтобы обеспечить возможность его подключения к нашему приложению Windows Forms. Проект библиотеки классов CommonSnappableTypes определяет следующие два типа.

namespace CommonSnappableTypes {
 public interface IAppFunctionality {
  void DoIt();
 }
 [AttributeUsage(AttribyteTargets.Class)]
 public sealed class CompanyInfoAttribute: System.Attribute
  private string companyName;
  private string companyUrl;
  public CompanyInfoAttribute(){}
  public string Name {
   get { return companyName; }
   set { companyName = value; }
  }
  public string Url {
   get { return companyUrl; }
   set { companyUrl = value; }
  }
 }
}

Интерфейс IAppFunctionality обеспечивает полиморфные возможности для всех подключаемых модулей, которые может принять наше расширяемое приложение Windows Forms. Наш пример является исключительно иллюстративным, поэтому здесь интерфейс предлагает единственный метод, DoIt(). В реальности это может быть интерфейс (или набор интерфейсов), позволяющий подключаемому объекту сгенерировать программный код сценария, поместить пиктограмму в окно инструментов или интегрироваться в главное меню приложения.

Тип CompanyInfoAttribute является пользовательским атрибутом, который будет применяться к любому типу класса, размещаемому в контейнере. Исходя из определения этого класса, можно утверждать, что [CompanyInfo] позволяет разработчику расширения сообщить информацию о происхождении подключаемого компонента.

Оглавление книги


Генерация: 3.853. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз