MarkUpExtension.ProvideValue - IServiceProviderは実際に使用されていますか?
-
30-10-2019 - |
質問
私は私の古いコードを経験していて、ハイブリッドに出会いました IValueConverter
/ MarkupExtension
クラス。それは私に疑問に思いました IServiceProvider
の中に ProvideValue
方法は実際に有用であり、どのように役立つでしょうか?
私はそれを見る IServiceProvider
1つの方法しかありません。 GetService
, 、適切なサービスタイプにキャストする必要があります。私も見ました MarkUpExtension.ProvideValue MSDNページとITは、さまざまな種類のサービスをリストしています。私は、これらのサービスのいずれかが役立つのか、それとも自分の方法をそのまま残すべきだと思うだけだと思いますか?
現在の方法:
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?
}
正しい解決策はありません
所属していません StackOverflow