介面上的擴充套件方法
擴充套件方法的一個有用功能是可以為介面建立通用方法。通常,介面不能具有共享實現,但可以使用擴充套件方法。
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
,這將對所有孩子以相同的方式實現。