示例
Product.cs
//target class
public class Product
{
//properties
public double ProductCost { get; set; }
public double DiscountPercentage { get; set; }
}
ProductExtensions.cs
using ClassLibrary1;
using System;
namespace ExtensionsNamespace
{
//static class for extension method
public static class ProductExtensions
{
//extension method for Product class
public static double GetDiscount(this Product product)
{
return product.ProductCost * product.DiscountPercentage / 100;
}
}
}
Program.cs
using System;
using ClassLibrary1;
using ExtensionsNamespace;
namespace ExtensionMethodsExample
{
class Program
{
static void Main()
{
//create object
Product p = new Product() { ProductCost = 1000, DiscountPercentage = 10 };
//call the extension method
Console.WriteLine(p.GetDiscount());
Console.ReadKey();
}
}
}