Freigeben über


XamlTypeInvoker.AddToCollection(Object, Object) Methode

Definition

Fügt das bereitgestellte Element einer Instanz des Typs hinzu, der für diesen XamlTypeInvoker relevant ist.

public:
 virtual void AddToCollection(System::Object ^ instance, System::Object ^ item);
public virtual void AddToCollection (object instance, object item);
abstract member AddToCollection : obj * obj -> unit
override this.AddToCollection : obj * obj -> unit
Public Overridable Sub AddToCollection (instance As Object, item As Object)

Parameter

instance
Object

Eine Instanz des Typs, der von dem für die Erstellung dieses XamlTypeInvoker verwendeten XamlType angegeben wird.

item
Object

Das Element, das hinzugefügt werden soll.

Ausnahmen

Diese Methode wurde für einen XamlTypeInvoker aufgerufen, der auf einem unbekannten XamlType basiert.

-oder-

Diese Methode wurde für einen XamlTypeInvoker aufgerufen, wobei der entsprechende Typ keine Sammlung ist.

instance ist null.

Hinweise

Sie sollten diese Methode nur für eine XamlType -Methode aufrufen, die eine Auflistung darstellt.

Hinweise für Vererber

Die Basisimplementierung umfasst einen Aufruf des internen Hilfsprogramm ThrowIfUnknown. Dieses Hilfsprogramm wird immer für Fälle ausgelöst, in denen ein XamlTypeInvoker auf einem unbekannten XamlTypebasiert, was Fälle einschließt, in denen der UnderlyingType von XamlType ist null.

Intern ruft die Basisimplementierung auf IsCollectionund löst aus, wenn das Ergebnis ist false.

Die Basisimplementierung verwendet nicht unbedingt eine eigene GetAddMethod(XamlType) Implementierung. Zunächst wird versucht, eine Umwandlung von instance von zu durchzuführen IList . Wenn dies erfolgreich ist, wird ein Aufruf von Add(Object) ausgeführt, und die -Methode wird zurückgegeben. Andernfalls verwendet die Basisimplementierung CLR Invoke(Object, Object[]) , um die zugrunde liegende Add Methode aufzurufen, wie aus einem Aufruf GetAddMethod(XamlType) von für diesen XamlTypeInvokerabgerufen wird.

In der Basisimplementierung wird keine Ausnahme auf dieser Ebene ausgelöst, wenn itemnullist. Es ist weiterhin möglich, dass die zugrunde liegende Add Methode beim Aufrufen eine Ausnahme auslöst. Andere Laufzeitausnahmen sind möglich, wenn ItemType kein gültiges Ergebnis zurückgegeben wird.

Gilt für: