Purpose
- Very large classes
- Allowing multiple developers to work on a single class at the same time without the need for later merging files in source control.
- Allowing a separation between the class interface and the implementation-related definitions (Separate definitions of the public and private parts)
Implementation
The implementation of partial classes is quite straight-forward and architecture-transparent. When compiling, the compiler performs a phase of precompilation first it "unifies" all the parts of the partial class into one logical class, and from that point, normal compilation takes place.Example
using System;
partial class Cylinder
{ private double hgt; private double rad; public Cylinder(double radius = 0D, double height = 0D) { this.rad = radius; this.hgt = height; } public double Radius { get { return rad; } set { rad = value; } } public double Height { get { return hgt; } set { hgt = value; } } }Example1
using System;
class Program
{ static Cylinder Initialize()
{ Cylinder c = new Cylinder(36.12, 18.84);
return c;
}
static void Show(Cylinder vol)
{ Console.WriteLine("Radius: {0}", vol.Radius); Console.WriteLine("Height: {0}", vol.Height); }
static int Main()
{ Cylinder cyl = Initialize();
Show(cyl);
Console.WriteLine();
return 0;
} }
No comments:
Post a Comment