我正在瀏覽我的一些舊代碼,並且遇到了一個混合類IValueConverter
/MarkupExtension
類。它讓我想知道ProvideValue
方法中的IServiceProvider
實際上是否有用,以及它如何有用?MarkupExtension.ProvideValue - IServiceProvider實際使用了嗎?
我看到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?
}