XamlTypeInvoker.AddToDictionary(Object, Object, Object) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
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
.
GetAddMethod(XamlType) for this XamlTypeInvoker returns 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.