Udostępnij za pośrednictwem


XamlTypeInvoker.AddToCollection(Object, Object) Metoda

Definicja

Dodaje podany element do wystąpienia typu, które jest istotne dla tego XamlTypeInvokerelementu .

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 obiektu XamlTypeInvoker.

item
Object

Element do dodania.

Wyjątki

Wywołano tę metodę na obiekcie XamlTypeInvoker , która jest oparta na nieznanym XamlTypeobiekcie .

-lub-

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

instance to null.

GetAddMethod(XamlType) dla tej XamlTypeInvoker wartości zwraca wartość null.

Uwagi

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

Uwagi 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 , który obejmuje przypadki, w których element UnderlyingType ma XamlType nullwartość .

Wewnętrznie implementacja podstawowa wywołuje IsCollectionmetodę i zgłasza wartość , jeśli wynik to false.

Implementacja podstawowa nie musi używać własnej GetAddMethod(XamlType) implementacji. Po pierwsze, podjęto próbę rzutu instance IList na. Jeśli to powiedzie się, zostanie wykonane wywołanie metody Add(Object) , a metoda zwróci wartość . W przeciwnym razie implementacja podstawowa używa środowiska CLR Invoke(Object, Object[]) do wywołania metody bazowej Add , uzyskanej z wywołania GetAddMethod(XamlType) dla tego XamlTypeInvokerelementu .

W podstawowej implementacji nie jest zgłaszany żaden 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