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文字列の一部が正しく解析されませんでした

-又は-

serviceProvider サービスを提供しませんでした。 IXamlTypeResolver

-又は-

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

serviceProvidernullです。

注釈

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

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

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

適用対象