Język

XamlTypeInvoker.AddToCollection(Object, Object) Metoda

Definicja

Dodaje podany element do wystąpienia typu, który jest odpowiedni dla tego elementu XamlTypeInvoker.

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)

Parametry

instance
Object

Wystąpienie typu określonego XamlType przez parametr używany do konstruowania tego elementu XamlTypeInvoker.

item
Object

Element do dodania.

Wyjątki

Wywołano tę metodę na obiekcie XamlTypeInvoker opartym na nieznanym XamlTypeobiekcie .

-lub-

Wywołano tę metodę w XamlTypeInvoker lokalizacji, w której odpowiedni typ nie jest kolekcją.

Parametr instance ma wartość null.

Uwagi

Tę metodę należy wywołać tylko w obiekcie XamlType reprezentującym kolekcję.

Notatki dotyczące dziedziczenia

Implementacja podstawowa obejmuje wywołanie wewnętrznego pomocnika ThrowIfUnknown. Ten pomocnik zawsze zgłasza przypadki, w których element XamlTypeInvoker jest oparty na nieznanym XamlTypeobiekcie , w tym przypadkach, w których element UnderlyingTypeXamlType ma wartość null.

Wewnętrznie implementacja podstawowa wywołuje metodę IsCollectioni zgłasza wartość , jeśli wynikiem jest false.

Implementacja podstawowa nie musi używać własnej GetAddMethod(XamlType) implementacji. Po pierwsze, podejmowana jest próba rzutowania instanceIList . Jeśli to się powiedzie, zostanie wykonane wywołanie Add(Object) metody , a metoda zwróci wartość . W przeciwnym razie implementacja podstawowa używa środowiska CLR Invoke(Object, Object[]) do wywołania metody bazowejAdd, zgodnie z wywołaniem GetAddMethod(XamlType) metody .XamlTypeInvoker

W podstawowej implementacji nie jest zgłaszany wyjątek na tym poziomie, jeśli item ma wartość null. Nadal istnieje możliwość, że metoda bazowa Add zgłosi wyjątek podczas wywoływanego wywołania. Inne wyjątki czasu wykonywania są możliwe, jeśli ItemType nie zwraca prawidłowego wyniku.

Dotyczy