共用方式為


IDestinationTypeProvider 介面

定義

代表一種服務,能回傳目的類別的 CLR 類型系統識別碼。 當屬性設定操作的目的類型透過反射或其他機制間接報告時,目的類型是相關的。

public interface class IDestinationTypeProvider
public interface IDestinationTypeProvider
type IDestinationTypeProvider = interface
Public Interface IDestinationTypeProvider

備註

回傳的 GetDestinationType 型別是根據 XAML 節點串流目前位置,利用目前的 XAML 結構上下文解析而來。

若您使用 .NET Framework 實作的 XAML 型別系統,並在這些條件下存取服務上下文,會 GetDestinationType 回傳 UnderlyingType 基於可用 XAML 型別系統資訊及基於 CLR 的 XAML 結構上下文。

此服務適用於純CLR反射或其他機制可能無法提供足夠目的類型資訊的情況。 以下是一些相關情境的 IDestinationTypeProvider列表:

  • CLR 類型系統會報告間接類型,因為 CLR 定義和使用類型的方式,而你想要的是真正的目的類型。 例如,.NET Framework XAML Services 中的 API 在處理事件成員時會內部使用此服務。 事件以純CLR反射方式報告為 Delegate

  • 你要確保類型轉換器的目的類型使用量與該類型轉換器預期能產生的類型相符。 當目的類型是參數化或通用的時,此情境特別有用。

  • 你的價值轉換器是從另一個價值轉換器中巢狀的使用中被呼叫的。 此時,可以 GetDestinationType 解開巢狀,並回傳被設定的實際屬性的目的類型,而非回傳任何中間值轉換器的輸出型別。

型別轉換器和標記擴充功能可以在 XAML 物件寫入器所提供的服務上下文中查詢 作為 IDestinationTypeProvider 服務,當 XAML 物件寫入器呼叫值轉換行為時。 欲了解更多資訊,請參閱 XAML 的型別轉換器與標記擴展 ,以及 型別轉換器和標記擴充可用的服務情境

方法

名稱 Description
GetDestinationType()

回傳識別目標類型的CLR Type ,用於相關型別轉換器或標記擴充。

適用於

另請參閱