StaticExtension.ProvideValue(IServiceProvider) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
傳回要在套用這個延伸的屬性上設定的物件值。 對於 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
。
serviceProvider
為 null
。
備註
這個方法支援 XAML 語言功能,通常不適合直接呼叫。 XAML 處理器實作會使用此方法在物件建立期間正確處理 x:Static
擴充值。
此實作依賴以傳遞 serviceProvider
為基礎的服務。
serviceProvider
不得為 null
。 對象 serviceProvider
預期會傳回的服務 IXamlTypeResolver。 在預設 XAML 讀取器和 XAML 寫入器的一般使用案例下,有適當的服務提供者可供使用。 無效的 XAML 架構內容可能會有中斷類型對應的副作用,因此 IXamlTypeResolver 服務。
在 .NET Framework 4 中,StaticExtension支援替代模式,讓它可以根據Member簡單成員名稱和提供為MemberType的自有類型傳回靜態成員,而不是Member在表單類型.
成員中提供完整名稱。 型別解析程式仍可運作,但在此情況下, Member 和 MemberType 基本上會結合: memberFullName = MemberType.FullName + "." + Member
。