MarkupExtension.ProvideValue: ¿se utiliza realmente el IServiceProvider?
Estaba revisando un código antiguo y encontré un híbridoIValueConverter
/ MarkupExtension
clase. Me hizo preguntarme si elIServiceProvider
en elProvideValue
método fue realmente útil, y ¿cómo sería útil?
Veo queIServiceProvider
solo tiene un método:GetService
, que debe convertirse al tipo de servicio adecuado. También miré el MarkupExtension.ProvideValue MSDN y enumera diferentes tipos de servicios. Supongo que me pregunto si alguno de esos servicios es útil o debería dejar mi método como está.
Método actual:
public Object ProvideValue(IServiceProvider serviceProvider)
{
return new MyConverter();
}
ásicamente, debo hacer lo siguiente:
public Object ProvideValue(IServiceProvider serviceProvider)
{
var provider = serviceProvider as SomeType;
if (provider == null) return new MyConverter();
//Do something with the provider here?
}