MarkupExtension.ProvideValue - действительно ли используется IServiceProvider?

Я просматривал старый код и наткнулся на гибридIValueConverter / MarkupExtension класс. Это заставило меня задуматься,IServiceProvider вProvideValue Метод был действительно полезен, и как он будет полезен?

я вижу этоIServiceProvider есть только один метод:GetService, который должен быть приведен к соответствующему типу обслуживания. Я также посмотрел наMarkupExtension.ProvideValue Страница MSDN и список различных видов услуг. Думаю, мне просто интересно, полезны ли какие-либо из этих сервисов, или я должен просто оставить свой метод как есть?

Текущий метод:

public Object ProvideValue(IServiceProvider serviceProvider)
{
    return new MyConverter();
}

В основном, я должен сделать следующее:

public Object ProvideValue(IServiceProvider serviceProvider)
{
    var provider = serviceProvider as SomeType;

    if (provider == null) return new MyConverter();

    //Do something with the provider here?
}