Show / Hide Table of Contents

Class ConcurrentEntityCollection

A collection of entities that can be accessed by multiple threads concurrently.

Inheritance
object
ConcurrentEntityCollection
Implements
IEntityCollection
ICollection<IEntity>
IEnumerable<IEntity>
IEnumerable
ICloneable<IEntityCollection>
Inherited Members
object.Equals(object)
object.Equals(object, object)
object.GetHashCode()
object.GetType()
object.MemberwiseClone()
object.ReferenceEquals(object, object)
object.ToString()
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 null to use the default EqualityComparer<T>.

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 name is null.

KeyNotFoundException

Thrown if no entity with the name name could be found.

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 item is null.

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

true if the collection contains the entity; otherwise, false.

Exceptions
Type Condition
ArgumentNullException

Thrown if item is null.

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

true if the collection contains the entity; otherwise, false.

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

true if item was successfully removed from the ICollection<T>; otherwise, false.

Exceptions
Type Condition
ArgumentNullException

Thrown if item is null.

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

true is the entity was removed succesfully; otherwise false.

Exceptions
Type Condition
ArgumentNullException

Thrown if name is null.

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

True if the entity is found; otherwise false.

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>

Implements

IEntityCollection
ICollection<T>
IEnumerable<T>
IEnumerable
ICloneable<T>

Extension Methods

Utility.ThrowIfNull<T>(T, string)
Helpers.IsValid(IEntityCollection)
Helpers.Validate(IEntityCollection)
Helpers.Validate(IEntityCollection, IRules)
Utility.ThrowIfEmpty<T>(IEnumerable<T>, string)
In this article
Back to top Generated by DocFX