C#扩展方法

扩展方法:扩展方法使你能够向现有类型“添加”方法,而无需创建新的派生类型、重新编译或以其他方式修改原始类型。

对于用 C# 和 Visual Basic 编写的客户端代码,调用扩展方法与调用在类型中实际定义的方法之间没有明显的差异。

下面是NPOI获取Excel单元值的一个扩展方法

public static class GetStringValue        //静态类
{
public static string GetCellValue(this ICell cell)     //this关键字修辞、静态方法   调用的时候直接ICell 类型.GetCellValue()即可
{
if (cell == null)
return string.Empty;
switch (cell.CellType)
{
case CellType.BOOLEAN:
return cell.BooleanCellValue.ToStr();
case CellType.NUMERIC:
if (DateUtil.IsCellDateFormatted(cell))
{
return (cell.DateCellValue).ToShortDateString();
}
return cell.NumericCellValue.ToStr();
case CellType.STRING:
return cell.StringCellValue;
case CellType.FORMULA:
return cell.NumericCellValue.ToStr();
default:
return string.Empty;
}
}
}