Partial Class in C#

  • 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.
  • The partial is a keyword and is used to implement a class more than one location. It can be used along with classes, interfaces and structures.
  • 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.
  • public partial class MyClass
    {
        public void metod_1()
        {
        }
    }
    
    public partial class MyClass
    {
        public void metod_2()
        {
        }
    }
    

  • The benefits 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 Visual Studio.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.

0 comments :

Post a Comment

> Related Posts with Thumbnails
 

Copyright © 2012. GS dot net - All Rights Reserved - Design by BTDesigner - Proudly powered by Blogger