Namespace: Semata.DataStore.ObjectModel.Views
A list ItemObjects that will be loaded from an ItemObjectCollection. The list will only be loaded when accessed, not when created, i.e. it is lazy
public class ItemObjectViewList<I,V> : IList<V> , IList , IReadOnlyList<V> , INotifyCollectionChanged , INotifyStateChanged , IEditableDataCreator where I : ItemObject where V : ItemObjectView<I>
Implements: IList<V> , IList , IReadOnlyList<V> , INotifyCollectionChanged , INotifyStateChanged , IEditableDataCreator
Constructors
Name | Description |
ItemObjectViewList(ItemObjectCollection<I>, Func<I, V>) |
Constructs a new instance of ItemObjectViewList. |
ItemObjectViewList(ItemObjectCollection<I>, Func<IEnumerable<I>, IEnumerable<I>>, Func<I, V>) |
Constructs a new instance of ItemObjectViewList. |
ItemObjectViewList(ItemObjectCollection<I>, Func<IEnumerable<I>, IEnumerable<I>>, Func<I, V>, Action<V>, Action<V>, bool) |
Constructs a new instance of ItemObjectViewList. If delayRemoves is true, it would be usual to set WriteOnEndEdit to false on the ItemObjectView created by Creator(). So that both adds and removes are performed on WriteChanges() |
Events
Name | Description |
CollectionChanged |
Raised for each individual change in the list Add, Move, Remove, Reset |
ElementStateChanged |
Raised after a list element is changed |
ListChanged |
Raised after the list is changed |
StateChanged |
Raised after the list is changed, or an list element is changed |
Properties
Name | Description |
Count |
Gets the number of elements contained in the ItemObjectViewList<I, V>. |
Creator |
The delegate that returns a ItemObjectView from an ItemObject |
HasErrors |
Returns true if any of the ItemObjectViews in the list has any errors |
HasNew |
Returns true if any of the ItemObjectViews is new |
IsChanged |
Returns true if any of the ItemObjectViews has changed or been deleted |
IsChangedOrHasNew |
Returns true if any of the ItemObjectViews has changed, been deleted, or is new |
IsFixedSize |
Returns false |
IsReadOnly |
Returns false |
IsSynchronized |
Returns false |
SyncRoot |
Returns false |
this |
Gets the ItemObjectView<I> at the specified index |
Methods
Name | Description |
Add(V) |
Adds an ItemObjectView<I> to the end of the ItemObjectViewList<I, V>. |
AddNew() |
Creates a new I from the underlying ItemObjectCollection<I> Uses the ItemObjectViewCreator to create a view on the I Adds the view to the end of the ItemObjectViewList<I, V>. |
CancelChanges() |
Cancel any changes |
Clear() |
Not Supported |
ClearErrors() |
Clears the errors, at the object level, from all the ItemObjectViews in the list |
ClearErrors(string) |
Clears the errors, for a given property name, from all the ItemObjectViews in the list |
Contains(V) |
Determines whether an ItemObjectView<I> is in the ItemObjectViewList<I, V>. |
CopyTo() |
Copies the ItemObjectViewList<I, V> to an array. Starting at arrayIndex. |
GetEnumerator() |
Returns an enumerator that iterates through the ItemObjectViewList<I, V>. |
GetErrors() |
Returns an enumerable containing the errors, at the object level, from all the ItemObjectViews in the list |
GetErrors(string) |
Returns an enumerable containing the errors, for a given property name, from all the ItemObjectViews in the list |
IndexOf(V) |
Returns the zero-based index of the ItemObjectView<I> in the ItemObjectViewList<I, V>. |
Insert(int, V) |
Not Supported |
Reload() |
Reloads the list |
Remove(V) |
Removes the specified ItemObjectView<I> from the ItemObjectViewList<I, V>. |
RemoveAt(int) |
Removes the ItemObjectView<I> at the specified index of the ItemObjectViewList<I, V> |
ValidateChanges() |
Calls Validate() on each ItemObjectView in the list, and returns true if they are all valid |
WriteChanges() |
Write the changes to the DataStore |