Tuesday, 11 November 2014

Partial Classes



It is possible to split the definition of a class or a struct, an interface or a method over two or more source files. Each source file contains a section of the type or method definition, and all parts are combined when the application is compiled.

There are several situations when splitting a class definition is desirable:
  • When working on large projects, spreading a class over separate files enables multiple programmers to work on it at the same time.
  • When working with automatically generated source, code can be added to the class without having to recreate the source file. Visual Studio uses this approach when it creates Windows Forms, Web service wrapper code, and so on. You can create code that uses these classes without having to modify the file created by Visual Studio.

Example:

       Program that uses partial class: C#
      
       class Program
       {
           static void Main()
           {
              A.A1();
              A.A2();
           }
       }
      
       Contents of file A1.cs: C#
      
       using System;
      
       partial class A
       {
           public static void A1()
           {
              Console.WriteLine("A1");
           }
       }
      
       Contents of file A2.cs: C#
      
       using System;
      
       partial class A
       {
           public static void A2()
           {
              Console.WriteLine("A2");
           }
       }
      
       Output
      
       A1

       A2

No comments:

Post a Comment