Class PropertyDictionary
public class PropertyDictionary : DynamicObject
- Inheritance
-
objectDynamicObjectPropertyDictionary
Properties
Count
Gets the number of elements contained in the System.Collections.Generic.ICollection<T>.
public int Count { get; }
Property Value
- int
The number of elements contained in the System.Collections.Generic.ICollection<T>.
IsReadOnly
Gets a value indicating whether the System.Collections.Generic.ICollection<T> is read-only.
public bool IsReadOnly { get; }
Property Value
this[string]
Gets or sets the element with the specified key.
public object this[string key] { get; set; }
Parameters
keystringThe key of the element to get or set.
Property Value
- object
The element with the specified key.
Exceptions
- ArgumentNullException
keyis null.- KeyNotFoundException
The property is retrieved and
keyis not found.- NotSupportedException
The property is set and the System.Collections.Generic.IDictionary<TKey, TValue> is read-only.
Keys
Gets an System.Collections.Generic.ICollection<T> containing the keys of the System.Collections.Generic.IDictionary<TKey, TValue>.
public ICollection<string> Keys { get; }
Property Value
- ICollection<string>
An System.Collections.Generic.ICollection<T> containing the keys of the object that implements System.Collections.Generic.IDictionary<TKey, TValue>.
Values
Gets an System.Collections.Generic.ICollection<T> containing the values in the System.Collections.Generic.IDictionary<TKey, TValue>.
public ICollection<object> Values { get; }
Property Value
- ICollection<object>
An System.Collections.Generic.ICollection<T> containing the values in the object that implements System.Collections.Generic.IDictionary<TKey, TValue>.
Methods
Add(KeyValuePair<string, object>)
Adds an item to the System.Collections.Generic.ICollection<T>.
public void Add(KeyValuePair<string, object> item)
Parameters
itemKeyValuePair<string, object>The object to add to the System.Collections.Generic.ICollection<T>.
Exceptions
- NotSupportedException
The System.Collections.Generic.ICollection<T> is read-only.
Add(string, object)
Adds an element with the provided key and value to the System.Collections.Generic.IDictionary<TKey, TValue>.
public void Add(string key, object value)
Parameters
keystringThe object to use as the key of the element to add.
valueobjectThe object to use as the value of the element to add.
Exceptions
- ArgumentNullException
keyis null.- ArgumentException
An element with the same key already exists in the System.Collections.Generic.IDictionary<TKey, TValue>.
- NotSupportedException
The System.Collections.Generic.IDictionary<TKey, TValue> is read-only.
Clear()
Removes all items from the System.Collections.Generic.ICollection<T>.
public void Clear()
Exceptions
- NotSupportedException
The System.Collections.Generic.ICollection<T> is read-only.
Contains(KeyValuePair<string, object>)
Determines whether the System.Collections.Generic.ICollection<T> contains a specific value.
public bool Contains(KeyValuePair<string, object> item)
Parameters
itemKeyValuePair<string, object>The object to locate in the System.Collections.Generic.ICollection<T>.
Returns
ContainsKey(string)
Determines whether the System.Collections.Generic.IDictionary<TKey, TValue> contains an element with the specified key.
public bool ContainsKey(string key)
Parameters
keystringThe key to locate in the System.Collections.Generic.IDictionary<TKey, TValue>.
Returns
- bool
true if the System.Collections.Generic.IDictionary<TKey, TValue> contains an element with the key; otherwise, false.
Exceptions
- ArgumentNullException
keyis null.
CopyTo(KeyValuePair<string, object>[], int)
Copies the elements of the System.Collections.Generic.ICollection<T> to an System.Array, starting at a particular System.Array index.
public void CopyTo(KeyValuePair<string, object>[] array, int arrayIndex)
Parameters
arrayKeyValuePair<string, object>[]The one-dimensional System.Array that is the destination of the elements copied from System.Collections.Generic.ICollection<T>. The System.Array must have zero-based indexing.
arrayIndexintThe zero-based index in
arrayat which copying begins.
Exceptions
- ArgumentNullException
arrayis null.- ArgumentOutOfRangeException
arrayIndexis less than 0.- ArgumentException
The number of elements in the source System.Collections.Generic.ICollection<T> is greater than the available space from
arrayIndexto the end of the destinationarray.
GetEnumerator()
Returns an enumerator that iterates through the collection.
public IEnumerator<KeyValuePair<string, object>> GetEnumerator()
Returns
- IEnumerator<KeyValuePair<string, object>>
An enumerator that can be used to iterate through the collection.
OnPropertyChanged(string)
protected virtual void OnPropertyChanged(string propertyName = null)
Parameters
propertyNamestring
Remove(KeyValuePair<string, object>)
Removes the first occurrence of a specific object from the System.Collections.Generic.ICollection<T>.
public bool Remove(KeyValuePair<string, object> item)
Parameters
itemKeyValuePair<string, object>The object to remove from the System.Collections.Generic.ICollection<T>.
Returns
- bool
true if
itemwas successfully removed from the System.Collections.Generic.ICollection<T>; otherwise, false. This method also returns false ifitemis not found in the original System.Collections.Generic.ICollection<T>.
Exceptions
- NotSupportedException
The System.Collections.Generic.ICollection<T> is read-only.
Remove(string)
Removes the element with the specified key from the System.Collections.Generic.IDictionary<TKey, TValue>.
public bool Remove(string key)
Parameters
keystringThe key of the element to remove.
Returns
- bool
true if the element is successfully removed; otherwise, false. This method also returns false if
keywas not found in the original System.Collections.Generic.IDictionary<TKey, TValue>.
Exceptions
- ArgumentNullException
keyis null.- NotSupportedException
The System.Collections.Generic.IDictionary<TKey, TValue> is read-only.
TryGetMember(GetMemberBinder, out object)
Provides the implementation for operations that get member values. Classes derived from the System.Dynamic.DynamicObject class can override this method to specify dynamic behavior for operations such as getting a value for a property.
public override bool TryGetMember(GetMemberBinder binder, out object result)
Parameters
binderGetMemberBinderProvides information about the object that called the dynamic operation. The
binder.Nameproperty provides the name of the member on which the dynamic operation is performed. For example, for theConsole.WriteLine(sampleObject.SampleProperty)statement, wheresampleObjectis an instance of the class derived from the System.Dynamic.DynamicObject class,binder.Namereturns "SampleProperty". Thebinder.IgnoreCaseproperty specifies whether the member name is case-sensitive.resultobjectThe result of the get operation. For example, if the method is called for a property, you can assign the property value to
result.
Returns
- bool
true if the operation is successful; otherwise, false. If this method returns false, the run-time binder of the language determines the behavior. (In most cases, a run-time exception is thrown.)
TryGetValue(string, out object)
Gets the value associated with the specified key.
public bool TryGetValue(string key, out object value)
Parameters
keystringThe key whose value to get.
valueobjectWhen this method returns, the value associated with the specified key, if the key is found; otherwise, the default value for the type of the
valueparameter. This parameter is passed uninitialized.
Returns
- bool
true if the object that implements System.Collections.Generic.IDictionary<TKey, TValue> contains an element with the specified key; otherwise, false.
Exceptions
- ArgumentNullException
keyis null.
TrySetMember(SetMemberBinder, object)
Provides the implementation for operations that set member values. Classes derived from the System.Dynamic.DynamicObject class can override this method to specify dynamic behavior for operations such as setting a value for a property.
public override bool TrySetMember(SetMemberBinder binder, object value)
Parameters
binderSetMemberBinderProvides information about the object that called the dynamic operation. The
binder.Nameproperty provides the name of the member to which the value is being assigned. For example, for the statementsampleObject.SampleProperty = "Test", wheresampleObjectis an instance of the class derived from the System.Dynamic.DynamicObject class,binder.Namereturns "SampleProperty". Thebinder.IgnoreCaseproperty specifies whether the member name is case-sensitive.valueobjectThe value to set to the member. For example, for
sampleObject.SampleProperty = "Test", wheresampleObjectis an instance of the class derived from the System.Dynamic.DynamicObject class, thevalueis "Test".
Returns
- bool
true if the operation is successful; otherwise, false. If this method returns false, the run-time binder of the language determines the behavior. (In most cases, a language-specific run-time exception is thrown.)
Events
PropertyChanged
Occurs when a property value changes.
public event PropertyChangedEventHandler PropertyChanged
Event Type
- PropertyChangedEventHandler