MarkupExtension.ProvideValue - O IServiceProvider é realmente usado?

Eu estava passando por um antigo código meu e me deparei com um híbridoIValueConverter / MarkupExtension classe. Isso me fez pensar se oIServiceProvider noProvideValue método @ foi realmente útil e como seria úti

Eu vejo issoIServiceProvider possui apenas um método:GetService, que deve ser convertido no tipo de serviço adequado. Eu também olhei para o MarkupExtension.ProvideValue MSDN e lista diferentes tipos de serviços. Acho que estou me perguntando se algum desses serviços é útil ou devo deixar meu método como ele

Método atual:

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

Basicamente, devo fazer o seguinte:

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

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

    //Do something with the provider here?
}

questionAnswers(2)

yourAnswerToTheQuestion