Edit

Share via


XamlTypeInvoker.AddToDictionary(Object, Object, Object) Method

Definition

Adds the provided key and item value to an instance of the type that is relevant to this XamlTypeInvoker.

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

Parameters

instance
Object

An instance of the type specified by the XamlType used for constructing this XamlTypeInvoker.

key
Object

Dictionary key for the item to add.

item
Object

The item value to add.

Exceptions

Invoked this method on a XamlTypeInvoker that is based on an unknown XamlType.

-or-

Invoked this method on a XamlTypeInvoker where the relevant type is not a dictionary.

instance is null.

Remarks

You should only call this method on a XamlType that represents a dictionary.

Notes to Inheritors

The base implementation includes a call to the internal helper ThrowIfUnknown. This helper always throws for cases where a XamlTypeInvoker is based on an unknown XamlType, which includes cases where the UnderlyingType of the XamlType is null.

Internally, the base implementation calls IsDictionary, and throws if the result is false.

The base implementation does not necessarily use its own GetAddMethod(XamlType) implementation. First, a cast of instance to IDictionary is attempted. If this succeeds, a call to Add(Object, Object) is made and the method returns. Otherwise, the base implementation uses CLR Invoke(Object, Object[]) to invoke the underlying Add method, as obtained from a call to GetAddMethod(XamlType) for this XamlTypeInvoker.

In the base implementation no exception is raised at this level if item or key is null. It is still possible that the underlying Add method will raise an exception when invoked. Other run time exceptions are possible if ItemType does not return a valid result.

Applies to