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
在 Framework 4 .NET中,StaticExtension 支援一種替代模式,可以根據 Member 作為簡單成員名稱,並以 MemberType 提供擁有型態,而非 Member 提供完整名稱,格式為 type.member。 型別解析器仍然作用,但此時 Member 和 MemberType 基本上是合併的: memberFullName = MemberType.FullName + "." + Member。