Partial Class

 Partial Class

In this article I will explain what is a partial class? What are the benefits of using partial classes and how to implement partial classes in your C# applications.

Partial class is a new feature added to C# 2.0 and Visual Studio 2005. It is supported in .NET Framework 2.0. If you are working with .NET 1.0 or 1.1, partial classes may not work.

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

When working on large projects, spreading a class over separate files allows multiple programmers to work on it simultaneously.

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 creating Windows Forms, Web Service wrapper code, and so on. You can create code that uses these classes without having to edit the file created by Visual Studio.

Benefit of partial classes:

1) More than one developer can simultaneously write the code for the class.

2) You can easily write your code (for extended functionality) for a VS.NET generated class. This will allow you to write the code of your own need without messing with the system generated code.

There are a few things that you should be careful about when writing code for partial classes: 

  • All the partial definitions must proceeded with the key word “Partial”.
  • All the partial types meant to be the part of same type must be defined within a same assembly and module.
  • Method signatures (return type, name of the method, and parameters) must be unique for the aggregated typed (which was defined partially).
  • The partial types must have the same accessibility.
  • If any part is sealed, the entire class is sealed.
  • If any part is abstract, the entire class is abstract.
  • Inheritance at any partial type applies to the entire class.

I have attached code of the partial classes along with this article. You can write the code and understand the functionality.

PartialClass

 

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

 

Written by 

Leave a Reply

Your email address will not be published. Required fields are marked *