Class MetadataContainer
A container for parameter metadata.
Implements
Inherited Members
Namespace: Microsoft.XboxStudios.BotBrain
Assembly: BotBrain.Core.dll
Syntax
public class MetadataContainer : IMetadataAccess, ICollection<ParameterMetadata>, IEnumerable<ParameterMetadata>, IDictionary<string, ParameterMetadata>, ICollection<KeyValuePair<string, ParameterMetadata>>, IEnumerable<KeyValuePair<string, ParameterMetadata>>, IEnumerable
Constructors
View SourceMetadataContainer(IEnumerable<ParameterMetadata>?)
Initializes a new instance of the MetadataContainer class.
Declaration
public MetadataContainer(IEnumerable<ParameterMetadata>? initial = null)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<ParameterMetadata> | initial | The initial parameters. |
Properties
View SourceCount
Gets the number of elements contained in the ICollection<T>.
Declaration
public int Count { get; }
Property Value
Type | Description |
---|---|
int | The number of elements contained in the ICollection<T>. |
IsReadOnly
Gets a value indicating whether the ICollection<T> is read-only.
Declaration
public bool IsReadOnly { get; }
Property Value
Type | Description |
---|---|
bool | true if the ICollection<T> is read-only; otherwise, false. |
this[string]
Gets or sets the element with the specified key.
Declaration
public ParameterMetadata this[string key] { get; set; }
Parameters
Type | Name | Description |
---|---|---|
string | key | The key of the element to get or set. |
Property Value
Type | Description |
---|---|
ParameterMetadata | The element with the specified key. |
Exceptions
Type | Condition |
---|---|
ArgumentNullException |
|
KeyNotFoundException | The property is retrieved and |
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>.
Declaration
public ICollection<string> Keys { get; }
Property Value
Type | Description |
---|---|
ICollection<string> | An ICollection<T> containing the keys of the object that implements IDictionary<TKey, TValue>. |
ParameterNames
Gets an enumeration of parameter names.
Declaration
public IEnumerable<string> ParameterNames { get; }
Property Value
Type | Description |
---|---|
IEnumerable<string> |
Values
Gets an ICollection<T> containing the values in the IDictionary<TKey, TValue>.
Declaration
public ICollection<ParameterMetadata> Values { get; }
Property Value
Type | Description |
---|---|
ICollection<ParameterMetadata> | An ICollection<T> containing the values in the object that implements IDictionary<TKey, TValue>. |
Methods
View SourceAdd(ParameterMetadata)
Adds an item to the ICollection<T>.
Declaration
public void Add(ParameterMetadata item)
Parameters
Type | Name | Description |
---|---|---|
ParameterMetadata | item | The object to add to the ICollection<T>. |
Exceptions
Type | Condition |
---|---|
NotSupportedException | The ICollection<T> is read-only. |
Add(KeyValuePair<string, ParameterMetadata>)
Adds an item to the ICollection<T>.
Declaration
public void Add(KeyValuePair<string, ParameterMetadata> item)
Parameters
Type | Name | Description |
---|---|---|
KeyValuePair<string, ParameterMetadata> | item | The object to add to the ICollection<T>. |
Exceptions
Type | Condition |
---|---|
NotSupportedException | The ICollection<T> is read-only. |
Add(string, ParameterMetadata)
Adds an element with the provided key and value to the IDictionary<TKey, TValue>.
Declaration
public void Add(string key, ParameterMetadata value)
Parameters
Type | Name | Description |
---|---|---|
string | key | The object to use as the key of the element to add. |
ParameterMetadata | value | The object to use as the value of the element to add. |
Exceptions
Type | Condition |
---|---|
ArgumentNullException |
|
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>.
Declaration
public void Clear()
Exceptions
Type | Condition |
---|---|
NotSupportedException | The ICollection<T> is read-only. |
Contains(ParameterMetadata)
Determines whether the ICollection<T> contains a specific value.
Declaration
public bool Contains(ParameterMetadata item)
Parameters
Type | Name | Description |
---|---|---|
ParameterMetadata | item | The object to locate in the ICollection<T>. |
Returns
Type | Description |
---|---|
bool | true if |
Contains(KeyValuePair<string, ParameterMetadata>)
Determines whether the ICollection<T> contains a specific value.
Declaration
public bool Contains(KeyValuePair<string, ParameterMetadata> item)
Parameters
Type | Name | Description |
---|---|---|
KeyValuePair<string, ParameterMetadata> | item | The object to locate in the ICollection<T>. |
Returns
Type | Description |
---|---|
bool | true if |
ContainsKey(string)
Determines whether the IDictionary<TKey, TValue> contains an element with the specified key.
Declaration
public bool ContainsKey(string key)
Parameters
Type | Name | Description |
---|---|---|
string | key | The key to locate in the IDictionary<TKey, TValue>. |
Returns
Type | Description |
---|---|
bool | true if the IDictionary<TKey, TValue> contains an element with the key; otherwise, false. |
Exceptions
Type | Condition |
---|---|
ArgumentNullException |
|
CopyTo(ParameterMetadata[], int)
Copies the elements of the ICollection<T> to an Array, starting at a particular Array index.
Declaration
public void CopyTo(ParameterMetadata[] array, int arrayIndex)
Parameters
Type | Name | Description |
---|---|---|
ParameterMetadata[] | array | The one-dimensional Array that is the destination of the elements copied from ICollection<T>. The Array must have zero-based indexing. |
int | arrayIndex | The zero-based index in |
Exceptions
Type | Condition |
---|---|
ArgumentNullException |
|
ArgumentOutOfRangeException |
|
ArgumentException | The number of elements in the source ICollection<T> is greater than the available space from |
CopyTo(KeyValuePair<string, ParameterMetadata>[], int)
Copies the elements of the ICollection<T> to an Array, starting at a particular Array index.
Declaration
public void CopyTo(KeyValuePair<string, ParameterMetadata>[] array, int arrayIndex)
Parameters
Type | Name | Description |
---|---|---|
KeyValuePair<string, ParameterMetadata>[] | array | The one-dimensional Array that is the destination of the elements copied from ICollection<T>. The Array must have zero-based indexing. |
int | arrayIndex | The zero-based index in |
Exceptions
Type | Condition |
---|---|
ArgumentNullException |
|
ArgumentOutOfRangeException |
|
ArgumentException | The number of elements in the source ICollection<T> is greater than the available space from |
GetEnumerator()
Returns an enumerator that iterates through a collection.
Declaration
public IEnumerator GetEnumerator()
Returns
Type | Description |
---|---|
IEnumerator | An IEnumerator object that can be used to iterate through the collection. |
GetParameterMetadata(string)
Gets the metadata for a parameter.
Declaration
public ParameterMetadata? GetParameterMetadata(string parameterName)
Parameters
Type | Name | Description |
---|---|---|
string | parameterName | The parameter name. |
Returns
Type | Description |
---|---|
ParameterMetadata | The metadata, if it exists. |
Remove(ParameterMetadata)
Removes the first occurrence of a specific object from the ICollection<T>.
Declaration
public bool Remove(ParameterMetadata item)
Parameters
Type | Name | Description |
---|---|---|
ParameterMetadata | item | The object to remove from the ICollection<T>. |
Returns
Type | Description |
---|---|
bool | true if |
Exceptions
Type | Condition |
---|---|
NotSupportedException | The ICollection<T> is read-only. |
Remove(KeyValuePair<string, ParameterMetadata>)
Removes the first occurrence of a specific object from the ICollection<T>.
Declaration
public bool Remove(KeyValuePair<string, ParameterMetadata> item)
Parameters
Type | Name | Description |
---|---|---|
KeyValuePair<string, ParameterMetadata> | item | The object to remove from the ICollection<T>. |
Returns
Type | Description |
---|---|
bool | true if |
Exceptions
Type | Condition |
---|---|
NotSupportedException | The ICollection<T> is read-only. |
Remove(string)
Removes the element with the specified key from the IDictionary<TKey, TValue>.
Declaration
public bool Remove(string key)
Parameters
Type | Name | Description |
---|---|---|
string | key | The key of the element to remove. |
Returns
Type | Description |
---|---|
bool | true if the element is successfully removed; otherwise, false. This method also returns false if |
Exceptions
Type | Condition |
---|---|
ArgumentNullException |
|
NotSupportedException | The IDictionary<TKey, TValue> is read-only. |
TryGetValue(string, out ParameterMetadata)
Gets the value associated with the specified key.
Declaration
public bool TryGetValue(string key, out ParameterMetadata value)
Parameters
Type | Name | Description |
---|---|---|
string | key | The key whose value to get. |
ParameterMetadata | value | 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 |
Returns
Type | Description |
---|---|
bool | true if the object that implements IDictionary<TKey, TValue> contains an element with the specified key; otherwise, false. |
Exceptions
Type | Condition |
---|---|
ArgumentNullException |
|