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
前面提供為元素,而且必須在任何內容/內部文字/初始化文字之前。