C#

Книги | Ссылки
Начало | Классы | Методы | Свойства | Интерфейсы | Делегаты
Лямбда-выражения | Отражение

Разделяемый тип

Определения разделяемых типов позволяют разделять определения для классов, структур и интерфейсов на несколько файлов. Для определения разделяемого типа используется ключевое слово partial

Ключевое слово partial указывает на то, что другие части класса, структуры или интерфейса могут быть определены в пространстве имен. Все части должны использовать ключевое слово partial. Для формирования окончательного типа все части должны быть доступны во время компиляции. Все части должны иметь одинаковые специальные возможности, например public, private и т.д.

Если какая-либо из частей объявлена абстрактной, то весь тип будет считаться абстрактным. Если какая-либо из частей объявлена запечатанной, то весь тип будет считаться запечатанным. Если какая-либо из частей объявляет базовый тип, то весь тип будет наследовать данный класс.

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

Модификатор partial нельзя использовать для объявлений делегата или перечисления.

 

В File1.cs

  1. namespace PC
  2. {
  3.     partial class A
  4.     {
  5.         int num = 0;
  6.         void MethodA() { }
  7.         partial void MethodC();
  8.     }
  9. }
* This source code was highlighted with Source Code Highlighter.

В File2.cs

  1. namespace PC
  2. {
  3.     partial class A
  4.     {
  5.         void MethodB(){}
  6.         partial void MethodC() { }
  7.     }
  8. }
* This source code was highlighted with Source Code Highlighter.

 

http://msdn.microsoft.com/ru-ru/library/wa80x488.aspx

Разделяемый метод

 


Главная | С# | WPF | Silverlight | Покер | Фотография | Разное
© Андрей Семёнов, 2009
Hosted by uCoz