Table of Contents

Class RelaxedReadOnlyDictionary<T, K>

Namespace
Vintagestory.API.Util
Assembly
VintagestoryAPI.dll
public class RelaxedReadOnlyDictionary<T, K> : IDictionary<T, K>, ICollection<KeyValuePair<T, K>>, IEnumerable<KeyValuePair<T, K>>, IEnumerable

Type Parameters

T
K
Inheritance
RelaxedReadOnlyDictionary<T, K>
Implements
Inherited Members
Extension Methods

Constructors

RelaxedReadOnlyDictionary(IDictionary<T, K>)

public RelaxedReadOnlyDictionary(IDictionary<T, K> values)

Parameters

values IDictionary<T, K>

Properties

Count

Gets the number of elements contained in the ICollection<T>.

public int Count { get; }

Property Value

int

The number of elements contained in the ICollection<T>.

IsReadOnly

Gets a value indicating whether the ICollection<T> is read-only.

public bool IsReadOnly { get; }

Property Value

bool

true if the ICollection<T> is read-only; otherwise, false.

this[T]

Gets or sets the element with the specified key.

public K this[T key] { get; set; }

Parameters

key T

The key of the element to get or set.

Property Value

K

The element with the specified key.

Exceptions

ArgumentNullException

key is null.

KeyNotFoundException

The property is retrieved and key is not found.

NotSupportedException

The property is set and the IDictionary<TKey, TValue> is read-only.

Keys

Gets an ICollection<T> containing the keys of the IDictionary<TKey, TValue>.

public ICollection<T> Keys { get; }

Property Value

ICollection<T>

An ICollection<T> containing the keys of the object that implements IDictionary<TKey, TValue>.

Values

Gets an ICollection<T> containing the values in the IDictionary<TKey, TValue>.

public ICollection<K> Values { get; }

Property Value

ICollection<K>

An ICollection<T> containing the values in the object that implements IDictionary<TKey, TValue>.

Methods

Add(KeyValuePair<T, K>)

Adds an item to the ICollection<T>.

public void Add(KeyValuePair<T, K> item)

Parameters

item KeyValuePair<T, K>

The object to add to the ICollection<T>.

Exceptions

NotSupportedException

The ICollection<T> is read-only.

Add(T, K)

Adds an element with the provided key and value to the IDictionary<TKey, TValue>.

public void Add(T key, K value)

Parameters

key T

The object to use as the key of the element to add.

value K

The object to use as the value of the element to add.

Exceptions

ArgumentNullException

key is null.

ArgumentException

An element with the same key already exists in the IDictionary<TKey, TValue>.

NotSupportedException

The IDictionary<TKey, TValue> is read-only.

Clear()

Removes all items from the ICollection<T>.

public void Clear()

Exceptions

NotSupportedException

The ICollection<T> is read-only.

Contains(KeyValuePair<T, K>)

Determines whether the ICollection<T> contains a specific value.

public bool Contains(KeyValuePair<T, K> item)

Parameters

item KeyValuePair<T, K>

The object to locate in the ICollection<T>.

Returns

bool

true if item is found in the ICollection<T>; otherwise, false.

ContainsKey(T)

Determines whether the IDictionary<TKey, TValue> contains an element with the specified key.

public bool ContainsKey(T key)

Parameters

key T

The key to locate in the IDictionary<TKey, TValue>.

Returns

bool

true if the IDictionary<TKey, TValue> contains an element with the key; otherwise, false.

Exceptions

ArgumentNullException

key is null.

CopyTo(KeyValuePair<T, K>[], int)

Copies the elements of the ICollection<T> to an Array, starting at a particular Array index.

public void CopyTo(KeyValuePair<T, K>[] array, int arrayIndex)

Parameters

array KeyValuePair<T, K>[]

The one-dimensional Array that is the destination of the elements copied from ICollection<T>. The Array must have zero-based indexing.

arrayIndex int

The zero-based index in array at which copying begins.

Exceptions

ArgumentNullException

array is null.

ArgumentOutOfRangeException

arrayIndex is less than 0.

ArgumentException

The number of elements in the source ICollection<T> is greater than the available space from arrayIndex to the end of the destination array.

GetEnumerator()

Returns an enumerator that iterates through the collection.

public IEnumerator<KeyValuePair<T, K>> GetEnumerator()

Returns

IEnumerator<KeyValuePair<T, K>>

An enumerator that can be used to iterate through the collection.

Remove(KeyValuePair<T, K>)

Removes the first occurrence of a specific object from the ICollection<T>.

public bool Remove(KeyValuePair<T, K> item)

Parameters

item KeyValuePair<T, K>

The object to remove from the ICollection<T>.

Returns

bool

true if item was successfully removed from the ICollection<T>; otherwise, false. This method also returns false if item is not found in the original ICollection<T>.

Exceptions

NotSupportedException

The ICollection<T> is read-only.

Remove(T)

Removes the element with the specified key from the IDictionary<TKey, TValue>.

public bool Remove(T key)

Parameters

key T

The key of the element to remove.

Returns

bool

true if the element is successfully removed; otherwise, false. This method also returns false if key was not found in the original IDictionary<TKey, TValue>.

Exceptions

ArgumentNullException

key is null.

NotSupportedException

The IDictionary<TKey, TValue> is read-only.

TryGetValue(T, out K)

Gets the value associated with the specified key.

public bool TryGetValue(T key, out K value)

Parameters

key T

The key whose value to get.

value K

When this method returns, the value associated with the specified key, if the key is found; otherwise, the default value for the type of the value parameter. This parameter is passed uninitialized.

Returns

bool

true if the object that implements IDictionary<TKey, TValue> contains an element with the specified key; otherwise, false.

Exceptions

ArgumentNullException

key is null.