ConstrainedList<T> Class
Namespace: Stride.Core.Collections
Assembly: Stride.Core.dll
Represent a collection associated with a constraint. When an item is added to this collection, it is tested against the constraint.
If the test fails, the item can either be discarded, or an exception can be thrown. The desired behavior can be defined with ThrowException.
System.Object →
ConstrainedList<T>
[DataSerializer(typeof(ListAllSerializer<, >), Mode = DataSerializerGenericMode.TypeAndGenericArguments)]
public class ConstrainedList<T> : IList<T>, ICollection<T>, IReadOnlyList<T>, IReadOnlyCollection<T>, IEnumerable<T>, IEnumerable
Type Parameters
|
Improve this Doc
View Source
Constructors
ConstrainedList()
ConstrainedList(Func<ConstrainedList<T>, T, Boolean>, Boolean, String)
public ConstrainedList(Func<ConstrainedList<T>, T, bool> constraint = null, bool throwException = true, string errorMessage = null)
Parameters
Type |
Name |
Description |
System.Func<ConstrainedList<T>, T, System.Boolean> |
constraint |
|
System.Boolean |
throwException |
|
System.String |
errorMessage |
|
|
Improve this Doc
View Source
Properties
Constraint
Gets or sets the constraint for items added to the collection. If null
, this collection behaves like a System.Collections.Generic.List<T>.
public Func<ConstrainedList<T>, T, bool> Constraint { get; set; }
Property Value
Count
public int Count { get; }
Property Value
Type |
Description |
System.Int32 |
|
IsReadOnly
public bool IsReadOnly { get; }
Property Value
Type |
Description |
System.Boolean |
|
Item[Int32]
public T this[int index] { get; set; }
Parameters
Type |
Name |
Description |
System.Int32 |
index |
|
Property Value
ThrowException
Gets or sets whether the collection should throw an System.ArgumentException when an item to add or insert doesn't pass the constraint.
public bool ThrowException { get; set; }
Property Value
Type |
Description |
System.Boolean |
|
|
Improve this Doc
View Source
Methods
Add(T)
Parameters
Type |
Name |
Description |
T |
item |
|
Clear()
Contains(T)
public bool Contains(T item)
Parameters
Type |
Name |
Description |
T |
item |
|
Returns
Type |
Description |
System.Boolean |
|
CopyTo(T[], Int32)
public void CopyTo(T[] array, int arrayIndex)
Parameters
Type |
Name |
Description |
T[] |
array |
|
System.Int32 |
arrayIndex |
|
GetEnumerator()
public List<T>.Enumerator GetEnumerator()
Returns
Type |
Description |
System.Collections.Generic.List.Enumerator<> |
|
IndexOf(T)
public int IndexOf(T item)
Parameters
Type |
Name |
Description |
T |
item |
|
Returns
Type |
Description |
System.Int32 |
|
Insert(Int32, T)
public void Insert(int index, T item)
Parameters
Type |
Name |
Description |
System.Int32 |
index |
|
T |
item |
|
Remove(T)
public bool Remove(T item)
Parameters
Type |
Name |
Description |
T |
item |
|
Returns
Type |
Description |
System.Boolean |
|
RemoveAt(Int32)
public void RemoveAt(int index)
Parameters
Type |
Name |
Description |
System.Int32 |
index |
|
|
Improve this Doc
View Source
Explicit Interface Implementations
IEnumerable<T>.GetEnumerator()
IEnumerator<T> IEnumerable<T>.GetEnumerator()
Returns
Type |
Description |
System.Collections.Generic.IEnumerator<T> |
|
IEnumerable.GetEnumerator()
IEnumerator IEnumerable.GetEnumerator()
Returns
Type |
Description |
System.Collections.IEnumerator |
|
Extension Methods