Class ConcurrentEntityCollection
A collection of entities that can be accessed by multiple threads concurrently.
Implements
Inherited Members
Namespace: SpiceSharp.Entities
Assembly: SpiceSharp.dll
Syntax
public class ConcurrentEntityCollection : IEntityCollection, ICollection<IEntity>, IEnumerable<IEntity>, IEnumerable, ICloneable<IEntityCollection>
Constructors
ConcurrentEntityCollection()
Initializes a new instance of the ConcurrentEntityCollection class.
Declaration
public ConcurrentEntityCollection()
ConcurrentEntityCollection(IEqualityComparer<string>)
Initializes a new instance of the ConcurrentEntityCollection class.
Declaration
public ConcurrentEntityCollection(IEqualityComparer<string> comparer)
Parameters
Type | Name | Description |
---|---|---|
IEqualityComparer<string> | comparer | The IEqualityComparer<T> implementation to use when comparing entity names, or |
Properties
Comparer
Gets the comparer used to compare Entity names.
Declaration
public IEqualityComparer<string> Comparer { get; }
Property Value
Type | Description |
---|---|
IEqualityComparer<string> | The comparer. |
Count
Gets the number of entities in the collection
Declaration
public int Count { get; }
Property Value
Type | Description |
---|---|
int | The number of entities. |
IsReadOnly
Gets a value indicating whether the ICollection<T> is read-only.
Declaration
public bool IsReadOnly { get; }
Property Value
Type | Description |
---|---|
bool |
this[string]
Gets the IEntity with the specified name.
Declaration
public IEntity this[string name] { get; }
Parameters
Type | Name | Description |
---|---|---|
string | name | The name of the entity. |
Property Value
Type | Description |
---|---|
IEntity | The IEntity. |
Exceptions
Type | Condition |
---|---|
ArgumentNullException | Thrown if |
KeyNotFoundException | Thrown if no entity with the name |
Methods
Add(IEntity)
Adds an item to the ICollection<T>.
Declaration
public void Add(IEntity item)
Parameters
Type | Name | Description |
---|---|---|
IEntity | item | The object to add to the ICollection<T>. |
Exceptions
Type | Condition |
---|---|
ArgumentNullException | Thrown if |
ArgumentException | Thrown if another entity with the same name already exists. |
ByType<E>()
Gets all entities that are of a specified type.
Declaration
public IEnumerable<E> ByType<E>() where E : IEntity
Returns
Type | Description |
---|---|
IEnumerable<E> | The entities. |
Type Parameters
Name | Description |
---|---|
E | The type of entity. |
Clear()
Clear all entities in the collection.
Declaration
public void Clear()
Clone()
Clones the instance.
Declaration
public IEntityCollection Clone()
Returns
Type | Description |
---|---|
IEntityCollection | The cloned instance. |
Contains(IEntity)
Determines whether this instance contains the object.
Declaration
public bool Contains(IEntity item)
Parameters
Type | Name | Description |
---|---|---|
IEntity | item | The entity. |
Returns
Type | Description |
---|---|
bool |
|
Exceptions
Type | Condition |
---|---|
ArgumentNullException | Thrown if |
Contains(string)
Determines whether this instance contains an IEntity with the specified name.
Declaration
public bool Contains(string name)
Parameters
Type | Name | Description |
---|---|---|
string | name | The name. |
Returns
Type | Description |
---|---|
bool |
|
GetEnumerator()
Returns an enumerator that iterates through the collection.
Declaration
public virtual IEnumerator<IEntity> GetEnumerator()
Returns
Type | Description |
---|---|
IEnumerator<IEntity> | An enumerator that can be used to iterate through the collection. |
OnEntityAdded(EntityEventArgs)
Raises the EntityAdded event.
Declaration
protected virtual void OnEntityAdded(EntityEventArgs args)
Parameters
Type | Name | Description |
---|---|---|
EntityEventArgs | args |
OnEntityRemoved(EntityEventArgs)
Raises the EntityRemoved event.
Declaration
protected virtual void OnEntityRemoved(EntityEventArgs args)
Parameters
Type | Name | Description |
---|---|---|
EntityEventArgs | args |
Remove(IEntity)
Removes the first occurrence of a specific object from the ICollection<T>.
Declaration
public bool Remove(IEntity item)
Parameters
Type | Name | Description |
---|---|---|
IEntity | item | The object to remove from the ICollection<T>. |
Returns
Type | Description |
---|---|
bool |
|
Exceptions
Type | Condition |
---|---|
ArgumentNullException | Thrown if |
Remove(string)
Removes the IEntity with specified name.
Declaration
public bool Remove(string name)
Parameters
Type | Name | Description |
---|---|---|
string | name | The name of the entity. |
Returns
Type | Description |
---|---|
bool |
|
Exceptions
Type | Condition |
---|---|
ArgumentNullException | Thrown if |
TryGetEntity(string, out IEntity)
Tries to find an Entity in the collection.
Declaration
public bool TryGetEntity(string name, out IEntity entity)
Parameters
Type | Name | Description |
---|---|---|
string | name | The name of the entity. |
IEntity | entity | The entity. |
Returns
Type | Description |
---|---|
bool |
|
Events
EntityAdded
Occurs when an entity is about to be added to the collection.
Declaration
public event EventHandler<EntityEventArgs> EntityAdded
Event Type
Type | Description |
---|---|
EventHandler<EntityEventArgs> |
EntityRemoved
Occurs when an entity has been removed from the collection.
Declaration
public event EventHandler<EntityEventArgs> EntityRemoved
Event Type
Type | Description |
---|---|
EventHandler<EntityEventArgs> |