методы расширений для абстрактных классов или интерфейсов

Есть простейший интерфейс IQuantity (величина) с enum'ом T, содержащим ед. измерения

interface IQuantity<T>
{
    double Value { get; }
}

и методы расширений для конвертации единиц типа

public static double ConvertFrom(this IQuantity<Length.Units> quantity, Length.Units units)

Хотелось бы каким-то образом сделать ToString() однотипный сразу для всех IQuantity, и при этом будут использоваться те самые методы расширений.

Я попробовал сделать абстрактный класс от этого интерфейса, но там не получится использовать методы расширений для конкретных классов. Может есть способы как-то конкретизировать тип Т? Или тут поможет 8-ая версия C#, где можно прописывать дефолтные реализации методов интерфейса?


Ответы (0 шт):