x :FactoryMethod, directive
Spécifie une méthode autre qu’un constructeur qu’un processeur XAML doit utiliser pour initialiser un objet après avoir résolu son type de stockage.
Utilisation des attributs XAML, sans x :Arguments
<object x:FactoryMethod="methodname"...>
...
</object>
Utilisation des attributs XAML, x :Arguments en tant qu’élément(s)
<object x:FactoryMethod="methodname"...>
<x:Arguments>
oneOrMoreObjectElements
</x:Arguments>
</object>
Valeurs XAML
Valeur | Description |
---|---|
methodname |
Nom de la méthode de chaîne d’une méthode que les processeurs XAML appellent pour initialiser l’instance spécifiée en tant que object . Voir les remarques. |
oneOrMoreObjectElements |
Un ou plusieurs éléments d’objet pour les objets qui spécifient des paramètres de méthode de fabrique. L’ordre est important ; cela signifie l’ordre dans lequel les arguments doivent être passés à la méthode de fabrique. |
Remarques
Si methodname
est une méthode d’instance, elle ne peut pas être qualifiée.
Les méthodes statiques en tant que méthodes de fabrique sont prises en charge. Si methodname
est une méthode statique, methodname
est fournie en tant que combinaison typeName.methodName
, où typeName
nomme la classe qui définit la méthode de fabrique statique.
typeName
peut être qualifié de préfixe si vous faites référence à un type dans un xmlns mappé.
typeName
peut être un type différent de typeof(object)
.
La méthode de fabrique doit être une méthode publique déclarée du type qui sauvegarde l’élément objet approprié.
La méthode de fabrique doit retourner une instance qui est assignable à l’objet approprié. Les méthodes de fabrique ne doivent jamais retourner null.
x:Arguments
fonctionne sur un principe de correspondance optimale pour les signatures de méthodes de fabrique. La correspondance évalue d’abord le nombre de paramètres. S’il existe plusieurs correspondances possibles pour un nombre de paramètres, le type de paramètre est évalué et la meilleure correspondance est déterminée. S’il existe toujours une ambiguïté après cette phase d’évaluation, le comportement du processeur XAML n’est pas défini.
L’utilisation de l’élément x:FactoryMethod
n’est pas l’utilisation des éléments de propriété dans le sens classique, car le balisage de directive ne référence pas le type de l’élément objet contenant. On s’attend à ce que l’utilisation des éléments soit moins courante que l’utilisation des attributs.
x:Arguments
(attribut ou utilisation des éléments) peut être utilisé avec x:FactoryMethod
'utilisation des éléments, mais cela n’est pas spécifiquement indiqué dans les sections Utilisation.
x:FactoryMethod
en tant qu’élément doit précéder tout autre élément de propriété, doit précéder tout x:Arguments
également fourni en tant qu’éléments et doit précéder tout texte de contenu/texte interne/initialisation.
Voir aussi
- directive x :Arguments
.NET Desktop feedback