Я просматривал свой старый код и наткнулся на гибридный IValueConverter
/ MarkupExtension
класс. Меня заставило задуматься, действительно ли IServiceProvider
в методе ProvideValue
полезен, и как бы это было полезно?
Я вижу, что IServiceProvider
имеет только один метод: GetService
, который должен быть приведен к соответствующему типу сервиса. Я также посмотрел на страницу MarkupExtension.ProvideValue MSDN и в ней перечислены различные типы сервисов. Наверное, мне просто интересно, полезен ли какой-либо из этих сервисов, или мне просто оставить свой метод таким, какой он есть?
Current Method:
public Object ProvideValue(IServiceProvider serviceProvider)
{
return new MyConverter();
}
Basically, should I do the following:
public Object ProvideValue(IServiceProvider serviceProvider)
{
var provider = serviceProvider as SomeType;
if (provider == null) return new MyConverter();
//Do something with the provider here?
}