Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gibt eine andere Methode als einen Konstruktor an, den ein XAML-Prozessor zum Initialisieren eines Objekts nach dem Auflösen seines Sicherungstyps verwenden soll.
XAML-Attributverwendung, keine x:Arguments
<object x:FactoryMethod="methodname"...>
...
</object>
XAML-Attributverwendung, x:Arguments als Element(n)
<object x:FactoryMethod="methodname"...>
<x:Arguments>
oneOrMoreObjectElements
</x:Arguments>
</object>
XAML-Werte
| Wert | Beschreibung |
|---|---|
methodname |
Der Zeichenfolgenmethodenname einer Methode, die VON XAML-Prozessoren aufgerufen wird, um die als objectangegebene Instanz zu initialisieren. Siehe Anmerkungen. |
oneOrMoreObjectElements |
Mindestens ein Objektelement für Objekte, die Factorymethodenparameter angeben. Reihenfolge ist wichtig; sie gibt die Reihenfolge an, in der Argumente an die Factorymethode übergeben werden sollen. |
Bemerkungen
Wenn methodname eine Instanzmethode ist, kann sie nicht qualifiziert werden.
Statische Methoden als Factorymethoden werden unterstützt. Wenn methodname eine statische Methode ist, wird methodname als typeName.methodName Kombination bereitgestellt, wobei typeName die Klasse benennt, die die statische Factorymethode definiert.
typeName kann präfixfähig sein, wenn auf einen Typ in einem zugeordneten XMLns verwiesen wird.
typeName kann ein anderer Typ als typeof(object)sein.
Die Factorymethode muss eine deklarierte öffentliche Methode des Typs sein, der das relevante Objektelement zurückgibt.
Die Factorymethode muss eine Instanz zurückgeben, die dem relevanten Objekt zugewiesen werden kann. Factorymethoden sollten niemals NULL zurückgeben.
x:Arguments funktioniert auf einem Prinzip der besten Übereinstimmung für Signaturen von Factorymethoden. Der Abgleich wertet die Parameteranzahl zuerst aus. Wenn mehr als eine mögliche Übereinstimmung für eine Parameteranzahl vorhanden ist, wird der Parametertyp ausgewertet, und die beste Übereinstimmung wird bestimmt. Wenn nach dieser Auswertungsphase noch Mehrdeutigkeit besteht, ist das XAML-Prozessorverhalten nicht definiert.
Die x:FactoryMethod Elementverwendung ist keine Eigenschaftselementverwendung im typischen Sinne, da das Direktivenmarkup nicht auf den Typ des enthaltenden Objektelements verweist. Es wird erwartet, dass die Elementverwendung weniger häufig ist als die Attributverwendung.
x:Arguments (Attribut- oder Elementnutzung) kann zusammen mit x:FactoryMethod Elementverwendung verwendet werden, dies wird jedoch nicht speziell in den Abschnitten "Verwendung" gezeigt.
x:FactoryMethod als Element muss allen anderen Eigenschaftselementen vorausgehen, allen x:Arguments auch als Elemente bereitgestellt werden, und allen Inhalten/inneren Text/Initialisierungstext vorangestellt sein.
Siehe auch
.NET Desktop feedback