Class ModelGrowingCollection<T>
Generic list container to which items can be added or which can be cleared only
Inherited Members
Namespace: DuetAPI.ObjectModel
Assembly: DuetAPI.dll
Syntax
public class ModelGrowingCollection<T> : ObservableCollection<T>, IList<T>, ICollection<T>, IReadOnlyList<T>, IReadOnlyCollection<T>, IEnumerable<T>, IList, ICollection, IEnumerable, IGrowingModelCollection, IModelCollection, IModelObject, ICloneable, INotifyPropertyChanged, INotifyCollectionChanged
Type Parameters
Name | Description |
---|---|
T | Item type |
Methods
Assign(object)
Assign the properties from another instance. This is required to update model properties which do not have a setter
Declaration
public void Assign(object from)
Parameters
Type | Name | Description |
---|---|---|
object | from | Other instance |
ClearItems()
Removes all items from the collection
Declaration
protected override void ClearItems()
Overrides
Clone()
Create a clone of this list
Declaration
public object Clone()
Returns
Type | Description |
---|---|
object | Cloned list |
FindDifferences(IModelObject)
Create a dictionary or list of all the differences between this instance and another. This method outputs own property values that differ from the other instance
Declaration
public object? FindDifferences(IModelObject other)
Parameters
Type | Name | Description |
---|---|---|
IModelObject | other | Other instance |
Returns
Type | Description |
---|---|
object | Object differences or null if both instances are equal |
OnCollectionChanged(NotifyCollectionChangedEventArgs)
Raises the change event handler
Declaration
protected override void OnCollectionChanged(NotifyCollectionChangedEventArgs e)
Parameters
Type | Name | Description |
---|---|---|
NotifyCollectionChangedEventArgs | e | Event arguments |
Overrides
UpdateFromJson(JsonElement, bool)
Update this instance from a given JSON element
Declaration
public IModelObject? UpdateFromJson(JsonElement jsonElement, bool ignoreSbcProperties)
Parameters
Type | Name | Description |
---|---|---|
JsonElement | jsonElement | Element to update this intance from |
bool | ignoreSbcProperties | Whether SBC properties are ignored |
Returns
Type | Description |
---|---|
IModelObject | Updated instance |
Remarks
Accepts null as the JSON value to clear existing items
Exceptions
Type | Condition |
---|---|
JsonException | Failed to deserialize data |
UpdateFromJson(JsonElement, bool, int, bool)
Update this collection from a given JSON array
Declaration
public void UpdateFromJson(JsonElement jsonElement, bool ignoreSbcProperties, int offset = 0, bool last = true)
Parameters
Type | Name | Description |
---|---|---|
JsonElement | jsonElement | Element to update this intance from |
bool | ignoreSbcProperties | Whether SBC properties are ignored |
int | offset | Index offset |
bool | last | Whether this is the last update |