Extension Method in C#

  1. using System;  
  2. class MyData {  
  3.     private double D1; // Fields  
  4.     private double D2;  
  5.     private double D3;  
  6.     public MyData(double d1, double d2, double d3) // Constructor  
  7.         {  
  8.             D1 = d1;  
  9.             D2 = d2;  
  10.             D3 = d3;  
  11.         }  
  12.     public double Sum() // Method Sum  
  13.         {  
  14.             return D1 + D2 + D3;  
  15.         }  
  16. }  
  17. static class ExtendMyData {  
  18.     public static double Average(MyData md) {  
  19.         return md.Sum() / 3;  
  20.     }  
  21. }  
  22. class UsingExtendMyData {  
  23.     public static void Main() {  
  24.         MyData md = new MyData(3, 4, 5);  
  25.         Console.WriteLine("Average: {0}", ExtendMyData.Average(md));  
  26.     }  
  27. }  
Output:

Average: 4