共用方式為


x:FactoryMethod 指示詞

指定 XAML 處理器在解析其備份類型之後,應該用來初始化物件之建構函式以外的方法。

XAML 屬性使用方式,無 x:Arguments

<object x:FactoryMethod="methodname"...>  
  ...  
</object>  

XAML 屬性使用方式,x:Arguments as Element(s)

<object x:FactoryMethod="methodname"...>  
  <x:Arguments>  
    oneOrMoreObjectElements  
  </x:Arguments>  
</object>  

XAML 值

價值 描述
methodname XAML 處理器呼叫之方法的字串方法名稱,以初始化指定為 object的實例。 請參閱。
oneOrMoreObjectElements 指定 Factory 方法參數之物件的一或多個物件專案。 訂單很重要;它表示應該將自變數傳遞至 Factory 方法的順序。

言論

如果 methodname 是實例方法,則無法限定。

支持靜態方法做為 Factory 方法。 如果 methodname 是靜態方法,methodname 會以 typeName.methodName 組合的形式提供,其中 typeName 為定義靜態 Factory 方法的類別命名。 如果參考對應 xmlns 中的類型,typeName 可以是前置詞限定。 typeName 的類型與 typeof(object)不同。

Factory 方法必須是型別的宣告公用方法,可備份相關對象專案。

Factory 方法必須傳回可指派給相關對象的實例。 Factory 方法絕對不應該傳回 Null。

x:Arguments 會以與處理站方法簽章最相符的原則運作。 比對會先評估參數計數。 如果參數計數有一個以上的可能比對,則會評估參數類型,並判斷最佳比對。 如果評估階段之後仍有模棱兩可的情況,則未定義 XAML 處理器行為。

x:FactoryMethod 專案使用方式不是一般意義上的屬性專案使用方式,因為指示詞標記不會參考包含物件元素的類型。 預期元素使用方式不如屬性使用方式。 x:Arguments(屬性或元素使用方式)可以與 x:FactoryMethod 元素使用方式一起使用,但這不會特別顯示在 [使用方式] 區段中。

x:FactoryMethod 項目必須位於任何其他屬性專案之前、必須在任何 x:Arguments 前面提供為元素,而且必須在任何內容/內部文字/初始化文字之前。

另請參閱