StaticExtension.ProvideValue(IServiceProvider) メソッド

定義

この拡張機能を適用するプロパティで設定するオブジェクトの値を返します。 StaticExtension の場合、戻り値は、要求された静的なメンバーの評価対象となる静的な値になります。

public:
 override System::Object ^ ProvideValue(IServiceProvider ^ serviceProvider);
public override object ProvideValue (IServiceProvider serviceProvider);
override this.ProvideValue : IServiceProvider -> obj
Public Overrides Function ProvideValue (serviceProvider As IServiceProvider) As Object

パラメーター

serviceProvider
IServiceProvider

マークアップ拡張機能のサービスを提供できるオブジェクト。 サービス プロバイダーは、型リゾルバー (IXamlTypeResolver) を実装するサービスを提供することが求められます。

戻り値

拡張機能が適用されたプロパティで設定する静的な値。

例外

拡張機能の member 値は、評価時には null です。

member 文字列に正しく解析されなかった部分があります。

- または -

serviceProviderIXamlTypeResolver のサービスを提供しませんでした。

- または -

member 値はが静的メンバーに対して解決されませんでした。

serviceProvidernullです。

注釈

このメソッドは XAML 言語機能をサポートしており、通常は直接呼び出すことを意図したものではありません。 XAML プロセッサの実装では、このメソッドを使用して、オブジェクトの作成時に拡張値を x:Static 正しく処理します。

この実装は、渡された serviceProviderに基づくサービスに依存します。 serviceProvider を に nullすることはできません。 オブジェクトは serviceProvider 、 の IXamlTypeResolverサービスを返す必要があります。 既定の XAML リーダーと XAML ライターによる通常の使用シナリオでは、適切なサービス プロバイダーを使用できます。 XAML スキーマ コンテキストが無効な場合、型マッピングの中断とサービスの副作用が発生する IXamlTypeResolver 可能性があります。

.NET Framework 4 では、StaticExtensionフォーム.メンバーに完全な名前を指定するのではなくMember、 としてMemberType指定された単純なメンバー名とその所有型に基づいてMember静的メンバーを返すことができる代替モードがサポートされています。 型リゾルバーは引き続き動作しますが、この場合、 MemberMemberType は基本的に 組み合わされます。 memberFullName = MemberType.FullName + "." + Member

適用対象