接口上的扩展方法
扩展方法的一个有用功能是可以为接口创建通用方法。通常,接口不能具有共享实现,但可以使用扩展方法。
public interface IVehicle
{
int MilesDriven { get; set; }
}
public static class Extensions
{
public static int FeetDriven(this IVehicle vehicle)
{
return vehicle.MilesDriven * 5028;
}
}
在此示例中,方法 FeetDriven
可用于任何 IVehicle
。这种方法中的逻辑适用于所有的 IVehicle
s,因此可以这样做,这样就不必在 IVehicle
定义中使用 FeetDriven
,这将对所有孩子以相同的方式实现。