-
Notifications
You must be signed in to change notification settings - Fork 0
DiGi.Core.Classes
Represents a physical mailing address including street, city, postal code, and country code.
public class Address : DiGi.Core.Classes.SerializableObject, DiGi.Core.Interfaces.IAddress, DiGi.Core.Interfaces.ILocation, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObjectInheritance System.Object → Object → SerializableObject → Address
Implements DiGi.Core.Interfaces.IAddress, ILocation, ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<ISerializableObject>, ICloneableObject, IObject
Initializes a new instance of the Address class using another Address object.
public Address(DiGi.Core.Classes.Address? address);address Address
The source address to copy from.
Initializes a new instance of the Address class with specified address details.
public Address(string? street, string? city, string? postalCode, DiGi.Core.Enums.CountryCode countryCode);street System.String
The street name and number.
city System.String
The city name.
postalCode System.String
The postal or zip code.
countryCode CountryCode
The ISO country code.
Initializes a new instance of the Address class from a JsonObject.
public Address(System.Text.Json.Nodes.JsonObject? jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object containing address data.
Gets the city name of the address.
public string? City { get; }Implements City
Gets the ISO country code of the address.
public DiGi.Core.Enums.CountryCode CountryCode { get; }Implements CountryCode
Gets the postal or zip code of the address.
public string? PostalCode { get; }Implements PostalCode
Gets the street name and number of the address.
public string? Street { get; }Implements Street
A type-safe container that allows a variable to hold one of several specified types.
public class AnyOfInheritance System.Object → AnyOf
Derived
↳ AnyOf<T,K>
↳ AnyOf<T>
Initializes a new instance of the AnyOf class with a value and an optional type.
public AnyOf(object? value, System.Type? type=null);value System.Object
The value to store.
type System.Type
The expected type of the value.
Gets the list of allowed types for this container.
public virtual System.Type[] Types { get; }Gets or sets the underlying value stored in the container.
public object? Value { get; set; }Determines whether the specified object is equal to the current AnyOf instance.
public override bool Equals(object? @object);object System.Object
The object to compare with.
System.Boolean
True if the objects are equal; otherwise, false.
Returns the hash code for the contained value.
public override int GetHashCode();System.Int32
The hash code of the stored value.
Retrieves the actual type of the stored value, or the first allowed type if null.
public System.Type? GetType();System.Type
The Type of the stored value.
Attempts to retrieve the stored value cast to the specified type T.
public T? GetValue<T>();T
The target type.
T
The value cast to T, or default if not possible.
Checks if a given value is compatible with the allowed types of this container.
public bool IsValid(object? value);value System.Object
The value to validate.
System.Boolean
True if valid; otherwise, false.
Returns a string representation of the contained value.
public override string? ToString();System.String
The string representation.
Compares an AnyOf instance with a specified object for equality.
public static bool operator ==(DiGi.Core.Classes.AnyOf? anyOf, object? @object);anyOf AnyOf
The AnyOf instance to compare.
object System.Object
The object to compare against the AnyOf instance.
System.Boolean
True if the objects are equal; otherwise, false.
Implicitly converts a boolean value to an AnyOf instance.
public static DiGi.Core.Classes.AnyOf implicit operator DiGi.Core.Classes.AnyOf(bool value);value System.Boolean
The boolean value to convert.
AnyOf
An AnyOf instance representing the provided boolean value.
Implicitly converts a double value to an AnyOf instance.
public static DiGi.Core.Classes.AnyOf implicit operator DiGi.Core.Classes.AnyOf(double value);value System.Double
The double value to convert.
AnyOf
An AnyOf instance representing the provided double value.
Implicitly converts an integer value to an AnyOf instance.
public static DiGi.Core.Classes.AnyOf implicit operator DiGi.Core.Classes.AnyOf(int value);value System.Int32
The integer value to convert.
AnyOf
An AnyOf instance representing the provided integer value.
Implicitly converts a long value to an AnyOf instance.
public static DiGi.Core.Classes.AnyOf implicit operator DiGi.Core.Classes.AnyOf(long value);value System.Int64
The long value to convert.
AnyOf
An AnyOf instance representing the provided long value.
Implicitly converts a string value to an AnyOf instance.
public static DiGi.Core.Classes.AnyOf implicit operator DiGi.Core.Classes.AnyOf(string value);value System.String
The string value to convert.
AnyOf
An AnyOf instance representing the provided string value.
Implicitly converts a System.DateTime value to an AnyOf instance.
public static DiGi.Core.Classes.AnyOf implicit operator DiGi.Core.Classes.AnyOf(System.DateTime value);value System.DateTime
The System.DateTime value to convert.
AnyOf
An AnyOf instance representing the provided System.DateTime value.
Implicitly converts a System.Guid value to an AnyOf instance.
public static DiGi.Core.Classes.AnyOf implicit operator DiGi.Core.Classes.AnyOf(System.Guid value);value System.Guid
The System.Guid value to convert.
AnyOf
An AnyOf instance representing the provided System.Guid value.
Implicitly converts an AnyOf instance to a nullable string representation.
public static string? implicit operator string?(DiGi.Core.Classes.AnyOf value);value AnyOf
The AnyOf instance to convert.
System.String
The string representation of the value, or null if the instance is null.
Determines whether the specified AnyOf instance is not equal to the specified object.
public static bool operator !=(DiGi.Core.Classes.AnyOf? anyOf, object? @object);anyOf AnyOf
The AnyOf instance to compare.
object System.Object
The object to compare against the AnyOf instance.
System.Boolean
True if the objects are not equal; otherwise, false.
A type-safe container for one of two specified types T or K.
public class AnyOf<T,K> : DiGi.Core.Classes.AnyOfT
The first type.
K
The second type.
Inheritance System.Object → AnyOf → AnyOf<T,K>
Initializes a new instance of AnyOf with a value of type K.
public AnyOf(K value);value K
The value to store.
Initializes a new instance of AnyOf with a value of type T.
public AnyOf(T value);value T
The value to store.
Gets the two allowed types T and K for this container.
public override System.Type[] Types { get; }Implicitly converts a value of type K to an AnyOf container holding either T or K.
public static DiGi.Core.Classes.AnyOf<T,K> implicit operator DiGi.Core.Classes.AnyOf<T,K>(K value);value K
The value of type K to convert.
DiGi.Core.Classes.AnyOf<T,K>
An AnyOf container holding the provided value of type K.
Implicitly converts a value of type T to an AnyOf container holding either T or K.
public static DiGi.Core.Classes.AnyOf<T,K> implicit operator DiGi.Core.Classes.AnyOf<T,K>(T value);value T
The value of type T to be wrapped in an AnyOf container.
DiGi.Core.Classes.AnyOf<T,K>
An AnyOf container holding the provided value of type T.
Implicitly converts the AnyOf container to its contained value of type K.
public static K? implicit operator K?(DiGi.Core.Classes.AnyOf<T,K> anyOf);anyOf DiGi.Core.Classes.AnyOf<T,K>
The AnyOf instance to convert.
K
The contained value of type K, or the default value if the container is null.
Implicitly converts the AnyOf container to its contained value of type T.
public static T? implicit operator T?(DiGi.Core.Classes.AnyOf<T,K> anyOf);anyOf DiGi.Core.Classes.AnyOf<T,K>
The AnyOf instance to convert.
T
The contained value of type T, or the default value if the container is null.
A type-safe container for a single specified type T.
public class AnyOf<T> : DiGi.Core.Classes.AnyOfT
The specified type.
Inheritance System.Object → AnyOf → AnyOf<T>
A type-safe container for a single specified type T.
public AnyOf(T value);value T
Gets the single allowed type T for this container.
public override System.Type[] Types { get; }Implicitly converts an AnyOf<T> container to its contained value of type T.
public static T? implicit operator T?(DiGi.Core.Classes.AnyOf<T> anyOf);anyOf DiGi.Core.Classes.AnyOf<T>
The AnyOf<T> instance to convert.
T
The contained value of type T, or the default value if the instance is null.
Provides a base class for background tasks with status tracking and event notifications.
public abstract class BackgroundTask : DiGi.Core.Interfaces.IBackgroundTask, DiGi.Core.Interfaces.IObjectInheritance System.Object → BackgroundTask
Derived
↳ CancelableBackgroundTask
Implements IBackgroundTask, IObject
Stores any exception that occurred during task execution.
protected Exception? exception;Indicates whether the task is currently running.
private bool isRunning;Indicates whether the last task execution succeeded.
private bool isSucceeded;Object used for thread synchronization.
protected readonly object lockObject;Measures the execution time of the task.
private readonly Stopwatch stopwatch;Gets the current status of the background task.
public DiGi.Core.Enums.BackgroundTaskStatus BackgroundTaskStatus { get; }Implements BackgroundTaskStatus
Gets the exception that caused the task to fail, or null if the task succeeded.
public System.Exception? Exception { get; }Implements Exception
Gets the total execution time of the last run.
public System.TimeSpan ExecutionTimeSpan { get; }Implements ExecutionTimeSpan
Gets a value indicating whether the task has completed.
public bool IsCompleted { get; }Gets a value indicating whether the task is currently running.
public bool IsRunning { get; }Implements IsRunning
Gets a value indicating whether the last task execution succeeded.
public bool IsSucceeded { get; }Gets or sets the underlying task associated with this background task.
protected System.Threading.Tasks.Task? Task { protected get; protected set; }When overridden in a derived class, defines the work to be executed by the background task.
protected abstract System.Threading.Tasks.Task<bool> ExecuteAsync();System.Threading.Tasks.Task<System.Boolean>
True if the task succeeded; otherwise, false.
Raises the Started event.
protected virtual void OnStarted();Raises the Starting event.
protected virtual void OnStarting();Raises the Stopped event.
protected virtual void OnStopped();Raises the Stopping event.
protected virtual void OnStopping();Starts the background task execution.
public virtual void Start();Implements Start()
Occurs when the task has started execution.
public event EventHandler? Started;Implements Started
Occurs when the task is about to start execution.
public event EventHandler? Starting;Implements Starting
Occurs when the task has stopped execution.
public event EventHandler? Stopped;Implements Stopped
Occurs when the task is about to stop execution.
public event EventHandler? Stopping;Implements Stopping
Provides a base class for background tasks that can be canceled during execution.
public abstract class CancelableBackgroundTask : DiGi.Core.Classes.BackgroundTask, DiGi.Core.Interfaces.ICancelableBackgroundTask, DiGi.Core.Interfaces.IBackgroundTask, DiGi.Core.Interfaces.IObjectInheritance System.Object → BackgroundTask → CancelableBackgroundTask
Derived
↳ ReportableBackgroundTask<T>
Implements ICancelableBackgroundTask, IBackgroundTask, IObject
Source for controlling cancellation of the background task.
private CancellationTokenSource? cancellationTokenSource;System.Threading.CancellationTokenSource
Gets the current status of the cancelable background task.
public DiGi.Core.Enums.CancelableBackgroundTaskStatus CancelableBackgroundTaskStatus { get; }Implements CancelableBackgroundTaskStatus
CancelableBackgroundTaskStatus
Gets a value indicating whether the task has been canceled.
public bool IsCanceled { get; }Cleans up the cancellation token source and resets task state.
private void Cleanup();Executes the background task with cancellation support.
protected override System.Threading.Tasks.Task<bool> ExecuteAsync();System.Threading.Tasks.Task<System.Boolean>
True if the task succeeded; otherwise, false.
When overridden in a derived class, defines the work to be executed with a cancellation token.
protected abstract System.Threading.Tasks.Task<bool> ExecuteAsync(System.Threading.CancellationToken token);token System.Threading.CancellationToken
The cancellation token to observe.
System.Threading.Tasks.Task<System.Boolean>
True if the task succeeded; otherwise, false.
Raises the Canceled event.
protected virtual void OnCanceled();Raises the Cancelling event.
protected virtual void OnCancelling();Starts the background task execution synchronously.
public override void Start();Implements Start()
Stops the background task synchronously by canceling and waiting for completion.
public void Stop();Stops the background task asynchronously by canceling and waiting for completion.
public System.Threading.Tasks.Task StopAsync();Implements StopAsync()
System.Threading.Tasks.Task
A task that represents the asynchronous stop operation.
Occurs when the task has been canceled.
public event EventHandler? Canceled;Occurs when the task is being canceled.
public event EventHandler? Cancelling;Represents a named category that can contain hierarchical subcategories.
public class Category : DiGi.Core.Classes.SerializableObject, System.IEquatable<DiGi.Core.Classes.Category>Inheritance System.Object → Object → SerializableObject → Category
Implements System.IEquatable<Category>
Initializes a new instance of the Category class by cloning an existing category.
public Category(DiGi.Core.Classes.Category? category);category Category
The category to clone.
Initializes a new instance of the Category class with a specified name.
public Category(string? name);name System.String
The name of the category.
Initializes a new instance of the Category class with a specified name and a collection of subcategories.
public Category(string? name, System.Collections.Generic.IEnumerable<DiGi.Core.Classes.Category>? subCategories);name System.String
The name of the category.
subCategories System.Collections.Generic.IEnumerable<Category>
The initial set of subcategories.
Initializes a new instance of the Category class from a JsonObject.
public Category(System.Text.Json.Nodes.JsonObject? jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object to deserialize.
Gets the name of the category.
public string? Name { get; }Gets or sets the list of subcategories.
public System.Collections.Generic.List<DiGi.Core.Classes.Category>? SubCategories { get; set; }System.Collections.Generic.List<Category>
Adds a subcategory to the current category.
public bool Add(DiGi.Core.Classes.Category? category);category Category
The category to add.
System.Boolean
True if the category was successfully added; otherwise, false.
Creates and adds a subcategory with the specified name.
public DiGi.Core.Classes.Category? Add(string? name);name System.String
The name of the subcategory to add.
Category
The newly created Category, or null if it could not be added.
Adds a collection of subcategories to the current category.
public void AddRange(System.Collections.Generic.IEnumerable<DiGi.Core.Classes.Category>? subCategories);subCategories System.Collections.Generic.IEnumerable<Category>
The collection of categories to add.
Creates a deep copy of the current category.
public override DiGi.Core.Interfaces.ISerializableObject? Clone();Implements Clone()
ISerializableObject
A cloned version of the category as an ISerializableObject.
Determines whether the current Category is equal to another Category.
public bool Equals(DiGi.Core.Classes.Category? category);category Category
The other category to compare with.
System.Boolean
True if they are equal; otherwise, false.
Determines whether the current Category is equal to a specified object.
public override bool Equals(object? @object);object System.Object
The object to compare with.
System.Boolean
True if they are equal; otherwise, false.
Returns a hash code for the current category based on its name and subcategories.
public override int GetHashCode();System.Int32
A numeric hash code.
Returns a string that represents the current category's name.
public override string? ToString();System.String
The category name.
Determines whether two Category instances are equal.
public static bool operator ==(DiGi.Core.Classes.Category? category_1, DiGi.Core.Classes.Category? category_2);category_1 Category
The first Category instance to compare.
category_2 Category
The second Category instance to compare.
System.Boolean
True if the two Category instances are considered equal; otherwise, false.
Implicitly converts a string to a Category instance.
public static DiGi.Core.Classes.Category? implicit operator DiGi.Core.Classes.Category?(string? name);name System.String
The name of the category as a System.String.
Category
A new Category instance created from the provided name, or null if the name is null.
Implicitly converts a Category instance to its name as a string.
public static string? implicit operator string?(DiGi.Core.Classes.Category? category);category Category
The Category instance to convert.
System.String
The name of the category as a System.String, or null if the category is null.
Determines whether two Category instances are not equal.
public static bool operator !=(DiGi.Core.Classes.Category? category_1, DiGi.Core.Classes.Category? category_2);category_1 Category
The first Category instance to compare.
category_2 Category
The second Category instance to compare.
System.Boolean
True if the two Category instances are not considered equal; otherwise, false.
Represents a hierarchical path to a category.
public class CategoryPath : DiGi.Core.Classes.ObjectPath<DiGi.Core.Classes.CategoryPath>Inheritance System.Object → Object → SerializableObject → DiGi.Core.Classes.ObjectPath<CategoryPath> → CategoryPath
Initializes a new instance of the CategoryPath class with a single segment name.
public CategoryPath(string name);name System.String
The name of the category segment.
Initializes a new instance of the CategoryPath class by appending a name to an existing path.
public CategoryPath(string name, DiGi.Core.Classes.CategoryPath path);name System.String
The name of the segment to append.
path CategoryPath
The existing category path to which the name will be appended.
Initializes a new instance of the CategoryPath class using a collection of segment names.
public CategoryPath(System.Collections.Generic.IEnumerable<string> names);names System.Collections.Generic.IEnumerable<System.String>
The collection of segment names to initialize the path.
Initializes a new instance of the CategoryPath class from a JSON object.
public CategoryPath(System.Text.Json.Nodes.JsonObject jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object used to initialize the category path.
An abstract base class for a two-key-indexed collection of values.
public abstract class Cluster<TKey_1,TKey_2,TValue> : DiGi.Core.Interfaces.IObject, System.Collections.Generic.IEnumerable<TValue>, System.Collections.IEnumerableTKey_1
The type of the first key.
TKey_2
The type of the second key.
TValue
The type of the value.
Inheritance System.Object → Cluster<TKey_1,TKey_2,TValue>
Derived
↳ List<TKey_1,TKey_2,TValue>
↳ ValueCluster<TKey_1,TKey_2,TValue>
Implements IObject, System.Collections.Generic.IEnumerable<TValue>, System.Collections.IEnumerable
Initializes a new instance of the Cluster class.
public Cluster();Initializes a new instance of the Cluster class by cloning another cluster.
public Cluster(DiGi.Core.Classes.Cluster<TKey_1,TKey_2,TValue>? cluster);cluster DiGi.Core.Classes.Cluster<TKey_1,TKey_2,TValue>
The cluster to clone.
Initializes a new instance of the Cluster class with the specified values.
public Cluster(System.Collections.Generic.IEnumerable<TValue>? values);values System.Collections.Generic.IEnumerable<TValue>
The values to populate the cluster with.
Gets or sets the list of values in the cluster.
public System.Collections.Generic.List<TValue>? Values { get; set; }System.Collections.Generic.List<TValue>
Adds a value to the cluster.
public abstract bool Add(TValue? value);value TValue
The value to add.
System.Boolean
True if the value was added; otherwise, false.
Adds multiple values to the cluster and returns those that were successfully added.
public System.Collections.Generic.List<UValue>? AddRange<UValue>(System.Collections.Generic.IEnumerable<UValue?>? values)
where UValue : TValue;UValue
The type of the values.
values System.Collections.Generic.IEnumerable<UValue>
The values to add.
System.Collections.Generic.List<UValue>
A list of values that were successfully added.
Clears all values from the cluster.
public abstract void Clear();Determines whether the cluster contains a value with the specified first key.
public abstract bool Contains(TKey_1? key_1);key_1 TKey_1
The first key to locate.
System.Boolean
True if the cluster contains a value with the specified key; otherwise, false.
Determines whether the cluster contains a value with the specified first and second keys.
public abstract bool Contains(TKey_1? key_1, TKey_2? key_2);key_1 TKey_1
The first key to locate.
key_2 TKey_2
The second key to locate.
System.Boolean
True if the cluster contains a value with the specified keys; otherwise, false.
Determines whether the cluster contains a specific value.
public abstract bool Contains(TValue? value);value TValue
The value to locate.
System.Boolean
True if the cluster contains the value; otherwise, false.
Returns an enumerator that iterates through the cluster values.
public System.Collections.Generic.IEnumerator<TValue> GetEnumerator();Implements GetEnumerator(), GetEnumerator()
System.Collections.Generic.IEnumerator<TValue>
An enumerator for the cluster values.
Gets a list of all unique first keys in the cluster.
public virtual System.Collections.Generic.List<TKey_1>? GetKeys_1();System.Collections.Generic.List<TKey_1>
A list of first keys, or null if the cluster has no values.
Gets a list of all unique second keys for values with the specified first key.
public virtual System.Collections.Generic.List<TKey_2>? GetKeys_2(TKey_1? key_1);key_1 TKey_1
The first key to filter by.
System.Collections.Generic.List<TKey_2>
A list of second keys, or null if key_1 is null or the cluster has no matching values.
Gets the first key for a given value.
protected abstract TKey_1? GetKey_1(TValue? value);value TValue
The value to get the key from.
TKey_1
The first key, or null.
Gets the second key for a given value.
protected abstract TKey_2? GetKey_2(TValue? value);value TValue
The value to get the key from.
TKey_2
The second key, or null.
Gets the first value matching the specified predicate.
public virtual UValue? GetValue<UValue>(System.Func<UValue?,bool>? func)
where UValue : TValue;UValue
The type of the value.
func System.Func<UValue,System.Boolean>
A predicate function to filter values.
UValue
The first matching value, or default if none found.
Gets a list of all values of the specified type.
public abstract System.Collections.Generic.List<UValue>? GetValues<UValue>()
where UValue : TValue;UValue
The type of the value.
System.Collections.Generic.List<UValue>
A list of values, or null if none found.
Gets a list of values filtered by the specified predicate.
public System.Collections.Generic.List<UValue>? GetValues<UValue>(System.Func<UValue?,bool>? func)
where UValue : TValue;UValue
The type of the value.
func System.Func<UValue,System.Boolean>
A predicate function to filter values.
System.Collections.Generic.List<UValue>
A list of matching values.
Gets a list of values filtered by the specified first key.
public virtual System.Collections.Generic.List<UValue>? GetValues<UValue>(TKey_1? key_1)
where UValue : TValue;UValue
The type of the value.
key_1 TKey_1
The first key to filter by.
System.Collections.Generic.List<UValue>
A list of matching values, or null if none found.
Determines whether the specified value is valid for this cluster.
public virtual bool IsValid(TValue? value);value TValue
The value to validate.
System.Boolean
True if the value is valid; otherwise, false.
Removes all values with the specified first key.
public abstract bool Remove(TKey_1? key_1);key_1 TKey_1
The first key to filter by.
System.Boolean
True if any values were removed; otherwise, false.
Removes all values with the specified first and second keys.
public abstract bool Remove(TKey_1? key_1, TKey_2? key_2);key_1 TKey_1
The first key to filter by.
key_2 TKey_2
The second key to filter by.
System.Boolean
True if any values were removed; otherwise, false.
Removes a specific value from the cluster.
public abstract bool Remove(TValue? value);value TValue
The value to remove.
System.Boolean
True if the value was removed; otherwise, false.
Sets the cluster values by clearing existing values and adding the specified ones.
protected bool SetValues(System.Collections.Generic.IEnumerable<TValue>? values);values System.Collections.Generic.IEnumerable<TValue>
The values to set.
System.Boolean
True if values were set successfully; otherwise, false.
Attempts to get the first value matching the specified predicate.
public bool TryGetValue<UValue>(out UValue? value, System.Func<UValue?,bool>? func)
where UValue : TValue;UValue
The type of the value.
value UValue
When this method returns, contains the first matching value, or default if no match was found.
func System.Func<UValue,System.Boolean>
A predicate function to filter values.
System.Boolean
True if a matching value was found; otherwise, false.
Attempts to get values filtered by the specified predicate.
public bool TryGetValues<UValue>(out System.Collections.Generic.List<UValue>? values, System.Func<UValue?,bool>? func)
where UValue : TValue;UValue
The type of the value.
values System.Collections.Generic.List<UValue>
When this method returns, contains the matching values, or null if none found.
func System.Func<UValue,System.Boolean>
A predicate function to filter values.
System.Boolean
True if any matching values were found; otherwise, false.
Attempts to get values filtered by the specified first key.
public bool TryGetValues<UValue>(TKey_1? key_1, out System.Collections.Generic.List<UValue>? values)
where UValue : TValue;UValue
The type of the value.
key_1 TKey_1
The first key to filter by.
values System.Collections.Generic.List<UValue>
When this method returns, contains the matching values, or null if none found.
System.Boolean
True if any matching values were found; otherwise, false.
Returns an enumerator that iterates through the cluster values.
System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator();Implements GetEnumerator()
Represents an ARGB color, providing conversions between integer values and System.Drawing.Color.
public class Color : DiGi.Core.Classes.SerializableObjectInheritance System.Object → Object → SerializableObject → Color
Initializes a new instance of the Color class with specified ARGB components.
public Color(byte alpha, byte red, byte green, byte blue);alpha System.Byte
The alpha component.
red System.Byte
The red component.
green System.Byte
The green component.
blue System.Byte
The blue component.
Initializes a new instance of the Color class by copying another Color instance.
public Color(DiGi.Core.Classes.Color? color);color Color
The source color to copy from.
Initializes a new instance of the Color class from an integer value.
public Color(int value);value System.Int32
The ARGB integer value.
Initializes a new instance of the Color class from a System.Drawing.Color object.
public Color(System.Drawing.Color color);color System.Drawing.Color
The source color.
Initializes a new instance of the Color class from a JsonObject.
public Color(System.Text.Json.Nodes.JsonObject? jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object containing color data.
Gets the alpha component of the color.
public byte Alpha { get; }Gets the blue component of the color.
public byte Blue { get; }Gets the green component of the color.
public byte Green { get; }Gets the red component of the color.
public byte Red { get; }Gets the integer representation (ARGB) of the color.
public int Value { get; }Determines whether the specified object is equal to the current Color instance.
public override bool Equals(object? @object);object System.Object
The object to compare with.
System.Boolean
True if the objects are equal; otherwise, false.
Returns a hash code for the current Color instance.
public override int GetHashCode();System.Int32
The hash code of the color.
Determines whether two Color instances are equal.
public static bool operator ==(DiGi.Core.Classes.Color? color_1, DiGi.Core.Classes.Color? color_2);color_1 Color
The first Color instance to compare.
color_2 Color
The second Color instance to compare.
System.Boolean
true if the two Color instances are equal; otherwise, false.
Implicitly converts an integer representation of a color (typically in ARGB format) to a Color instance.
public static DiGi.Core.Classes.Color implicit operator DiGi.Core.Classes.Color(int value);value System.Int32
The integer value representing the color.
Color
A new Color instance created from the specified integer value.
Implicitly converts a System.Drawing.Color instance to a Color instance.
public static DiGi.Core.Classes.Color implicit operator DiGi.Core.Classes.Color(System.Drawing.Color color);color System.Drawing.Color
The System.Drawing.Color instance to convert.
Color
A new Color instance created from the specified System.Drawing.Color.
Implicitly converts a nullable Color instance to a System.Drawing.Color instance.
public static System.Drawing.Color implicit operator System.Drawing.Color(DiGi.Core.Classes.Color? color);color Color
The nullable Color instance to convert.
System.Drawing.Color
A System.Drawing.Color instance representing the specified color, or System.Drawing.Color.Empty if the provided color is null.
Determines whether two Color instances are not equal.
public static bool operator !=(DiGi.Core.Classes.Color? color_1, DiGi.Core.Classes.Color? color_2);color_1 Color
The first Color instance to compare.
color_2 Color
The second Color instance to compare.
System.Boolean
true if the two Color instances are not equal; otherwise, false.
Manages the reading, writing, and retrieval of key-value pair configuration settings from a file.
public class ConfigurationFile : DiGi.Core.Classes.SerializableObjectInheritance System.Object → Object → SerializableObject → ConfigurationFile
Initializes a new empty instance of the ConfigurationFile class.
public ConfigurationFile();Initializes a new instance of the ConfigurationFile class by copying settings from another instance.
public ConfigurationFile(DiGi.Core.Classes.ConfigurationFile? configurationFile);configurationFile ConfigurationFile
The source configuration file to copy from.
Initializes a new instance of the ConfigurationFile class from a JsonObject.
public ConfigurationFile(System.Text.Json.Nodes.JsonObject? jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object containing configuration data.
Gets the dictionary containing key-value configuration settings.
public System.Collections.Generic.Dictionary<string,string> Dictionary { get; }System.Collections.Generic.Dictionary<System.String,System.String>
Gets the list of all configuration key names.
public System.Collections.Generic.List<string> Names { get; }System.Collections.Generic.List<System.String>
Adds or removes a string configuration setting.
public bool Add(string name, string? value);name System.String
The key of the setting.
value System.String
The value to set, or null to remove the setting.
System.Boolean
True if the operation was successful; otherwise, false.
Adds or removes a boolean configuration setting.
public bool Add(string name, System.Nullable<bool> value);name System.String
The key of the setting.
value System.Nullable<System.Boolean>
The value to set, or null to remove the setting.
System.Boolean
True if the operation was successful; otherwise, false.
Adds or removes a double configuration setting.
public bool Add(string name, System.Nullable<double> value);name System.String
The key of the setting.
value System.Nullable<System.Double>
The value to set, or null to remove the setting.
System.Boolean
True if the operation was successful; otherwise, false.
Adds or removes an integer configuration setting.
public bool Add(string name, System.Nullable<int> value);name System.String
The key of the setting.
value System.Nullable<System.Int32>
The value to set, or null to remove the setting.
System.Boolean
True if the operation was successful; otherwise, false.
Appends settings from another configuration file instance to this one.
public bool Append(DiGi.Core.Classes.ConfigurationFile? configurationFile);configurationFile ConfigurationFile
The source configuration file.
System.Boolean
True if any settings were appended; otherwise, false.
Checks if a configuration setting exists by its name.
public bool Contains(string? name, bool caseSensitive=false);name System.String
The key to look for.
caseSensitive System.Boolean
Whether the search should be case-sensitive.
System.Boolean
True if the key exists; otherwise, false.
Retrieves a configuration value as an object.
public object? GetValue(string name, bool caseSensitive=false);name System.String
The key of the setting.
caseSensitive System.Boolean
Whether the search should be case-sensitive.
System.Object
The retrieved value, or null if not found.
Retrieves a configuration value and attempts to cast it to type T.
public T? GetValue<T>(string name, bool caseSensitive=false);T
The target type.
name System.String
The key of the setting.
caseSensitive System.Boolean
Whether the search should be case-sensitive.
T
The value cast to T, or default if not found or conversion fails.
Retrieves a configuration value and attempts to cast it to type T, or returns a default value.
public T? GetValue<T>(string name, T? defaultValue, bool caseSensitive=false);T
The target type.
name System.String
The key of the setting.
defaultValue T
The value to return if not found or conversion fails.
caseSensitive System.Boolean
Whether the search should be case-sensitive.
T
The retrieved value cast to T, or the defaultValue.
Reads configuration settings from a file at the specified path.
public bool Read(string path);path System.String
The absolute or relative path to the configuration file.
System.Boolean
True if the file was read successfully; otherwise, false.
Reads configuration settings from an array of strings (lines).
public bool Read(string[]? lines);lines System.String[]
The lines to parse as key-value pairs.
System.Boolean
True if at least one setting was read successfully; otherwise, false.
Removes a configuration setting by its name.
public bool Remove(string name);name System.String
The key of the setting to remove.
System.Boolean
True if the setting was removed; otherwise, false.
Attempts to retrieve a configuration value and convert it to type T.
public bool TryGetValue<T>(string name, out T? value, bool caseSensitive=false);T
The target type.
name System.String
The key of the setting.
value T
The converted value, if successful.
caseSensitive System.Boolean
Whether the search should be case-sensitive.
System.Boolean
True if the value was found and successfully converted; otherwise, false.
Writes the current configuration settings to a file at the specified path.
public bool Write(string path);path System.String
The path where the configuration file should be written.
System.Boolean
True if the file was written successfully; otherwise, false.
Caches and retrieves reflection data (MethodInfo) for type conversion methods.
public class ConversionManagerInheritance System.Object → ConversionManager
Initializes a new instance of the ConversionManager class.
public ConversionManager();Retrieves the System.Reflection.MethodInfo for the specified full type name.
public System.Reflection.MethodInfo? GetMethodInfo(string? fullTypeName, bool update=true);fullTypeName System.String
The full name of the type to get the method info for.
update System.Boolean
If set to true, updates the internal cache if the method info is not found.
System.Reflection.MethodInfo
The System.Reflection.MethodInfo if found; otherwise, null.
Retrieves the System.Reflection.MethodInfo for the specified type.
public System.Reflection.MethodInfo? GetMethodInfo(System.Type? type, bool update=true);type System.Type
The type to get the method info for.
update System.Boolean
If set to true, updates the internal cache if the method info is not found.
System.Reflection.MethodInfo
The System.Reflection.MethodInfo if found; otherwise, null.
An abstract base class for defining options used during data conversion processes.
public abstract class ConvertOptions : DiGi.Core.Classes.SerializableOptions, DiGi.Core.Interfaces.IConvertOptions, DiGi.Core.Interfaces.IOptions, DiGi.Core.Interfaces.IObjectInheritance System.Object → Object → SerializableObject → SerializableOptions → ConvertOptions
Implements DiGi.Core.Interfaces.IConvertOptions, IOptions, IObject
Initializes a new instance of the ConvertOptions class.
public ConvertOptions();Initializes a new instance of the ConvertOptions class by copying another ConvertOptions object.
public ConvertOptions(DiGi.Core.Classes.ConvertOptions? convertOptions);convertOptions ConvertOptions
The source options to copy from.
Initializes a new instance of the ConvertOptions class from a JsonObject.
public ConvertOptions(System.Text.Json.Nodes.JsonObject? jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object containing conversion options.
Represents a geographic location using Latitude and Longitude.
public class Coordinates : DiGi.Core.Classes.SerializableObject, DiGi.Core.Interfaces.ICoordinates, DiGi.Core.Interfaces.ILocation, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObjectInheritance System.Object → Object → SerializableObject → Coordinates
Implements ICoordinates, ILocation, ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<ISerializableObject>, ICloneableObject, IObject
Initializes a new instance of the Coordinates class by copying another Coordinates object.
public Coordinates(DiGi.Core.Classes.Coordinates? coordinates);coordinates Coordinates
The source coordinates to copy from.
Initializes a new instance of the Coordinates class with specified latitude and longitude.
public Coordinates(double latitude, double longitude);latitude System.Double
The geographic latitude.
longitude System.Double
The geographic longitude.
Initializes a new instance of the Coordinates class from a JsonObject.
public Coordinates(System.Text.Json.Nodes.JsonObject? jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object containing coordinate data.
Gets the geographic latitude of the location.
public double Latitude { get; }Implements Latitude
Gets the geographic longitude of the location.
public double Longitude { get; }Implements Longitude
Represents a collection of System.DateTime objects.
public class DateTimeCollection : DiGi.Core.Classes.SerializableObject, DiGi.Core.Interfaces.ITimeSeries, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, System.Collections.Generic.ICollection<System.DateTime>, System.Collections.Generic.IEnumerable<System.DateTime>, System.Collections.IEnumerableInheritance System.Object → Object → SerializableObject → DateTimeCollection
Implements ITimeSeries, ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<ISerializableObject>, ICloneableObject, IObject, System.Collections.Generic.ICollection<System.DateTime>, System.Collections.Generic.IEnumerable<System.DateTime>, System.Collections.IEnumerable
Initializes a new instance of the DateTimeCollection class.
public DateTimeCollection();Initializes a new instance of the DateTimeCollection class by copying another collection.
public DateTimeCollection(DiGi.Core.Classes.DateTimeCollection? dateTimeCollection);dateTimeCollection DateTimeCollection
The DateTimeCollection to copy from.
Initializes a new instance of the DateTimeCollection class with the specified collection of DateTimes.
public DateTimeCollection(System.Collections.Generic.IEnumerable<System.DateTime>? dateTimes);dateTimes System.Collections.Generic.IEnumerable<System.DateTime>
The collection of date times to initialize the collection with.
Initializes a new instance of the DateTimeCollection class from a JSON object.
public DateTimeCollection(System.Text.Json.Nodes.JsonObject? jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object to initialize the collection from.
Gets the number of elements contained in the collection.
public int Count { get; }Implements Count
Gets the list of DateTimes in the collection.
public System.Collections.Generic.IList<System.DateTime> DateTimes { get; }System.Collections.Generic.IList<System.DateTime>
Gets a value indicating whether the collection is read-only.
public bool IsReadOnly { get; }Implements IsReadOnly
Adds the specified DateTime to the collection.
public void Add(System.DateTime dateTime);dateTime System.DateTime
The DateTime to add to the collection.
Adds the specified nullable DateTime to the collection.
public void Add(System.Nullable<System.DateTime> dateTime);dateTime System.Nullable<System.DateTime>
The nullable DateTime to add to the collection.
Removes all elements from the collection.
public void Clear();Implements Clear()
Determines whether the collection contains a specific DateTime.
public bool Contains(System.DateTime dateTime);dateTime System.DateTime
The DateTime to locate in the collection.
System.Boolean
true if the collection contains the specified DateTime; otherwise, false.
Determines whether the collection contains a specific nullable DateTime.
public bool Contains(System.Nullable<System.DateTime> dateTime);dateTime System.Nullable<System.DateTime>
The nullable DateTime to locate in the collection.
System.Boolean
true if the collection contains the specified nullable DateTime; otherwise, false.
Copies the elements of the collection to a specified array, starting at the specified index.
public void CopyTo(System.DateTime[]? array, int arrayIndex);array System.DateTime[]
The destination array to which the elements are copied.
arrayIndex System.Int32
The zero-based index in the destination array at which the elements should be copied to.
Generates and returns an array of DateTimes within the series.
public System.DateTime[]? GetDateTimes();Implements GetDateTimes()
System.DateTime[]
An array of DateTime objects containing the series, or null if no date times are available.
Returns an enumerator that iterates through the collection.
public System.Collections.Generic.IEnumerator<System.DateTime> GetEnumerator();Implements GetEnumerator(), GetEnumerator()
System.Collections.Generic.IEnumerator<System.DateTime>
An IEnumerator<DateTime> that iterates through the collection.
Removes the first occurrence of a specific DateTime from the collection.
public bool Remove(System.DateTime dateTime);dateTime System.DateTime
The DateTime to remove from the collection.
System.Boolean
True if the item was successfully removed; otherwise, false.
Removes the first occurrence of a specific nullable DateTime from the collection.
public bool Remove(System.Nullable<System.DateTime> dateTime);dateTime System.Nullable<System.DateTime>
The nullable DateTime to remove from the collection.
System.Boolean
True if the item was successfully removed; otherwise, false.
Implicitly converts a nullable list of System.DateTime objects to a nullable DateTimeCollection.
public static DiGi.Core.Classes.DateTimeCollection? implicit operator DiGi.Core.Classes.DateTimeCollection?(System.Collections.Generic.List<System.DateTime>? dateTimes);dateTimes System.Collections.Generic.List<System.DateTime>
The nullable list of System.DateTime values to convert.
DateTimeCollection
A new DateTimeCollection containing the elements from the list, or null if the input is null.
Implicitly converts a nullable array of System.DateTime objects to a nullable DateTimeCollection.
public static DiGi.Core.Classes.DateTimeCollection? implicit operator DiGi.Core.Classes.DateTimeCollection?(System.DateTime[]? dateTimes);dateTimes System.DateTime[]
The nullable array of System.DateTime values to convert.
DateTimeCollection
A new DateTimeCollection containing the elements from the array, or null if the input is null.
Implicitly converts a nullable System.DateTime to a nullable DateTimeCollection.
public static DiGi.Core.Classes.DateTimeCollection? implicit operator DiGi.Core.Classes.DateTimeCollection?(System.Nullable<System.DateTime> dateTime);dateTime System.Nullable<System.DateTime>
The nullable System.DateTime value to convert.
DateTimeCollection
A new DateTimeCollection containing the specified date time, or null if the input is null.
Implicitly converts a DateTimeCollection to a nullable list of System.DateTime.
public static System.Collections.Generic.List<System.DateTime>? implicit operator System.Collections.Generic.List<System.DateTime>?(DiGi.Core.Classes.DateTimeCollection? dateTimeCollection);dateTimeCollection DateTimeCollection
The DateTimeCollection instance to convert.
System.Collections.Generic.List<System.DateTime>
A System.Collections.Generic.List<> containing the date times from the collection, or null if the source is null.
Implicitly converts a nullable DateTimeCollection to a nullable array of System.DateTime objects.
public static System.DateTime[]? implicit operator System.DateTime[]?(DiGi.Core.Classes.DateTimeCollection? dateTimeCollection);dateTimeCollection DateTimeCollection
The nullable DateTimeCollection to convert.
System.DateTime[]
A nullable array of System.DateTime values containing the elements from the collection, or null if the input is null.
Represents a range of date and time values.
public class DateTimeRange : DiGi.Core.Classes.Range<System.DateTime>Inheritance System.Object → Object → SerializableObject → DiGi.Core.Classes.Range<System.DateTime> → DateTimeRange
Initializes a new instance of the DateTimeRange class by copying an existing range.
public DateTimeRange(DiGi.Core.Classes.DateTimeRange dateTimeRange);dateTimeRange DateTimeRange
The date time range to copy from.
Initializes a new instance of the DateTimeRange class with specified start and end dates.
public DateTimeRange(System.DateTime value_1, System.DateTime value_2);value_1 System.DateTime
The first date time value.
value_2 System.DateTime
The second date time value.
Initializes a new instance of the DateTimeRange class from a JSON object.
public DateTimeRange(System.Text.Json.Nodes.JsonObject jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object to initialize the range from.
Gets the duration or length of the date time range.
public override System.DateTime Length { get; }Represents a series of DateTimes generated based on a range and step interval.
public class DateTimeSeries : DiGi.Core.Classes.SerializableObject, DiGi.Core.Interfaces.ITimeSeries, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObjectInheritance System.Object → Object → SerializableObject → DateTimeSeries
Implements ITimeSeries, ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<ISerializableObject>, ICloneableObject, IObject
Initializes a new instance of the DateTimeSeries class with a specified range and step.
public DateTimeSeries(DiGi.Core.Classes.DateTimeRange? range, long step);range DateTimeRange
The date time range for the series.
step System.Int64
The step interval between dates in the series.
Initializes a new instance of the DateTimeSeries class by copying another series.
public DateTimeSeries(DiGi.Core.Classes.DateTimeSeries? dateTimeSeries);dateTimeSeries DateTimeSeries
The source DateTimeSeries to copy from.
Initializes a new instance of the DateTimeSeries class starting at the specified date.
public DateTimeSeries(System.DateTime dateTime);dateTime System.DateTime
The start date and time for the series.
Initializes a new instance of the DateTimeSeries class with start date, end date, and step.
public DateTimeSeries(System.DateTime dateTime_1, System.DateTime dateTime_2, long step);dateTime_1 System.DateTime
The starting date and time of the series.
dateTime_2 System.DateTime
The ending date and time of the series.
step System.Int64
The step interval for the series.
Initializes a new instance of the DateTimeSeries class from a JSON object.
public DateTimeSeries(System.Text.Json.Nodes.JsonObject? jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object used to initialize the series.
Gets or sets the date range for the series.
public DiGi.Core.Classes.DateTimeRange? Range { get; }Gets or sets the step interval for the series.
public long Step { get; }Generates and returns an array of DateTimes within the series.
public System.DateTime[]? GetDateTimes();Implements GetDateTimes()
System.DateTime[]
An array of System.DateTime objects representing the series, or null.
Base class for references to external resources.
public abstract class ExternalReference : DiGi.Core.Classes.SerializableReference, DiGi.Core.Interfaces.IExternalReference, DiGi.Core.Interfaces.IReference, DiGi.Core.Interfaces.IObject, System.IEquatable<DiGi.Core.Interfaces.IReference>Inheritance System.Object → Object → SerializableObject → SerializableReference → ExternalReference
Derived
↳ ExternalReference<USerializableReference>
Implements IExternalReference, IReference, IObject, System.IEquatable<IReference>
Initializes a new instance of the ExternalReference class by copying an existing reference.
public ExternalReference(DiGi.Core.Classes.ExternalReference? externalReference);externalReference ExternalReference
The external reference to copy.
Initializes a new instance of the ExternalReference class with a specified source.
public ExternalReference(string? source);source System.String
The source string for the external reference.
Initializes a new instance of the ExternalReference class from a JSON object.
public ExternalReference(System.Text.Json.Nodes.JsonObject? jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object used to initialize the reference.
Gets or sets the source identifier for the external reference.
public string Source { get; }Base class for references to external resources.
public abstract class ExternalReference<USerializableReference> : DiGi.Core.Classes.ExternalReference
where USerializableReference : DiGi.Core.Interfaces.ISerializableReferenceUSerializableReference
The type of the serializable reference.
Inheritance System.Object → Object → SerializableObject → SerializableReference → ExternalReference → ExternalReference<USerializableReference>
Derived
↳ InstanceRelatedExternalReference<TInstanceRelatedSerializableReference>
↳ TypeRelatedExternalReference
Initializes a new instance of the ExternalReference class by copying an existing generic reference.
public ExternalReference(DiGi.Core.Classes.ExternalReference<USerializableReference>? externalReference);externalReference DiGi.Core.Classes.ExternalReference<USerializableReference>
The external reference to copy from.
Initializes a new instance of the ExternalReference class with a specified source and serializable reference.
public ExternalReference(string? source, USerializableReference? reference);source System.String
The source of the external reference.
reference USerializableReference
The serializable reference to use.
Initializes a new instance of the ExternalReference class from a JSON object.
public ExternalReference(System.Text.Json.Nodes.JsonObject? jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object to initialize from.
Gets or sets the serializable reference object.
public USerializableReference? Reference { get; }Returns a string representation of the external reference.
public override string? ToString();System.String
A string that represents the current object.
Represents a result containing an external reference GUID.
public abstract class ExternalReferenceGuidResult<TUniqueObject,UExternalReference> : DiGi.Core.Classes.GuidResult<TUniqueObject>
where TUniqueObject : DiGi.Core.Interfaces.IUniqueObject
where UExternalReference : DiGi.Core.Interfaces.IExternalReferenceTUniqueObject
The type of the unique object.
UExternalReference
The type of the external reference.
Inheritance System.Object → Object → SerializableObject → UniqueObject → GuidObject → GuidResult → DiGi.Core.Classes.GuidResult<TUniqueObject> → ExternalReferenceGuidResult<TUniqueObject,UExternalReference>
Initializes a new instance of the ExternalReferenceGuidResult<TUniqueObject,UExternalReference> class.
public ExternalReferenceGuidResult();ExternalReferenceGuidResult(ExternalReferenceGuidResult<TUniqueObject,UExternalReference>) Constructor
Initializes a new instance of the ExternalReferenceGuidResult<TUniqueObject,UExternalReference> class from another external reference GUID result.
public ExternalReferenceGuidResult(DiGi.Core.Classes.ExternalReferenceGuidResult<TUniqueObject,UExternalReference>? externalReferenceGuidResult);externalReferenceGuidResult DiGi.Core.Classes.ExternalReferenceGuidResult<TUniqueObject,UExternalReference>
The external reference GUID result to copy from.
Initializes a new instance of the ExternalReferenceGuidResult<TUniqueObject,UExternalReference> class from the specified JSON object.
public ExternalReferenceGuidResult(System.Text.Json.Nodes.JsonObject? jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object to initialize from.
Initializes a new instance of the ExternalReferenceGuidResult<TUniqueObject,UExternalReference> class with the specified external reference.
public ExternalReferenceGuidResult(UExternalReference? reference);reference UExternalReference
The external reference to use.
Gets or sets the associated external reference.
public UExternalReference? Reference { get; }Represents a result containing an external reference unique identifier.
public abstract class ExternalReferenceUniqueResult<TUniqueObject,UExternalReference> : DiGi.Core.Classes.UniqueResult<TUniqueObject>
where TUniqueObject : DiGi.Core.Interfaces.IUniqueObject
where UExternalReference : DiGi.Core.Interfaces.IExternalReferenceTUniqueObject
The type of the unique object.
UExternalReference
The type of the external reference.
Inheritance System.Object → Object → SerializableObject → UniqueObject → UniqueResult → DiGi.Core.Classes.UniqueResult<TUniqueObject> → ExternalReferenceUniqueResult<TUniqueObject,UExternalReference>
Initializes a new instance of the ExternalReferenceUniqueResult<TUniqueObject,UExternalReference> class.
public ExternalReferenceUniqueResult();ExternalReferenceUniqueResult(ExternalReferenceUniqueResult<TUniqueObject,UExternalReference>) Constructor
Initializes a new instance of the ExternalReferenceUniqueResult<TUniqueObject,UExternalReference> class from another external reference unique result.
public ExternalReferenceUniqueResult(DiGi.Core.Classes.ExternalReferenceUniqueResult<TUniqueObject,UExternalReference>? externalReferenceUniqueResult);externalReferenceUniqueResult DiGi.Core.Classes.ExternalReferenceUniqueResult<TUniqueObject,UExternalReference>
The external reference unique result to initialize from.
Initializes a new instance of the ExternalReferenceUniqueResult<TUniqueObject,UExternalReference> class from the specified JSON object.
public ExternalReferenceUniqueResult(System.Text.Json.Nodes.JsonObject? jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object to initialize from.
Initializes a new instance of the ExternalReferenceUniqueResult<TUniqueObject,UExternalReference> class with the specified external reference.
public ExternalReferenceUniqueResult(UExternalReference? reference);reference UExternalReference
The external reference to initialize with.
Gets or sets the associated external reference.
public UExternalReference? Reference { get; }Represents an external reference identified by a GUID.
public sealed class GuidExternalReference : DiGi.Core.Classes.UniqueExternalReference<DiGi.Core.Classes.GuidReference>Inheritance System.Object → Object → SerializableObject → SerializableReference → ExternalReference → DiGi.Core.Classes.ExternalReference<GuidReference> → DiGi.Core.Classes.InstanceRelatedExternalReference<GuidReference> → DiGi.Core.Classes.UniqueExternalReference<GuidReference> → GuidExternalReference
Initializes a new instance of the GuidExternalReference class by copying an existing instance.
public GuidExternalReference(DiGi.Core.Classes.GuidExternalReference guidExternalReference);guidExternalReference GuidExternalReference
The existing instance to copy.
Initializes a new instance of the GuidExternalReference class with a source and a GUID reference.
public GuidExternalReference(string source, DiGi.Core.Classes.GuidReference reference);source System.String
The source string.
reference GuidReference
The GUID reference.
Initializes a new instance of the GuidExternalReference class with a source and a GUID object.
public GuidExternalReference(string? source, DiGi.Core.Interfaces.IGuidObject? guidObject);source System.String
The source string.
guidObject IGuidObject
The GUID object.
Initializes a new instance of the GuidExternalReference class from a JSON object.
public GuidExternalReference(System.Text.Json.Nodes.JsonObject jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object to initialize from.
Provides a base implementation for models identified by a unique GUID.
public abstract class GuidModel : DiGi.Core.Classes.GuidObject, DiGi.Core.Interfaces.IGuidModel, DiGi.Core.Interfaces.ISerializableModel, DiGi.Core.Interfaces.IModel, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IGuidObject, DiGi.Core.Interfaces.IUniqueObjectInheritance System.Object → Object → SerializableObject → UniqueObject → GuidObject → GuidModel
Implements IGuidModel, ISerializableModel, IModel, IObject, ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<ISerializableObject>, ICloneableObject, IGuidObject, IUniqueObject
Initializes a new instance of the GuidModel class.
public GuidModel();Initializes a new instance of the GuidModel class by copying another instance.
public GuidModel(DiGi.Core.Classes.GuidModel? guidModel);guidModel GuidModel
The GuidModel instance to copy from.
Initializes a new instance of the GuidModel class with a specified GUID.
public GuidModel(System.Guid guid);guid System.Guid
The GUID value to initialize the model with.
Initializes a new instance of the GuidModel class from a JSON object.
public GuidModel(System.Text.Json.Nodes.JsonObject? jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object to initialize the model from.
Base class for objects identified by a unique GUID.
public abstract class GuidObject : DiGi.Core.Classes.UniqueObject, DiGi.Core.Interfaces.IGuidObject, DiGi.Core.Interfaces.IUniqueObject, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObjectInheritance System.Object → Object → SerializableObject → UniqueObject → GuidObject
Derived
↳ GuidModel
↳ GuidResult
Implements IGuidObject, IUniqueObject, ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<ISerializableObject>, ICloneableObject, IObject
Initializes a new instance of the GuidObject class.
public GuidObject();Initializes a new instance of the GuidObject class by copying another GuidObject.
public GuidObject(DiGi.Core.Classes.GuidObject? guidObject);guidObject GuidObject
The GuidObject to copy from.
Initializes a new instance of the GuidObject class with the specified GUID.
public GuidObject(System.Guid guid);guid System.Guid
The GUID to assign to the new instance.
Initializes a new instance of the GuidObject class with a specified GUID and an existing object.
public GuidObject(System.Guid guid, DiGi.Core.Classes.GuidObject? guidObject);guid System.Guid
The GUID to assign to the new instance.
guidObject GuidObject
The existing GuidObject used for initialization.
Initializes a new instance of the GuidObject class from a JSON object.
public GuidObject(System.Text.Json.Nodes.JsonObject? jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object to initialize the instance from.
Gets or sets the unique identifier for the object.
public System.Guid Guid { get; }Implements Guid
Gets or sets the unique identification string for this object.
public override string? UniqueId { get; }Implements UniqueId
Creates a duplicate of the current object, optionally using a new GUID.
public virtual DiGi.Core.Interfaces.IGuidObject? Duplicate(System.Nullable<System.Guid> guid=null);guid System.Nullable<System.Guid>
The optional GUID to assign to the duplicated object.
Implements Duplicate(Nullable<Guid>)
IGuidObject
A duplicate of the current object as an IGuidObject.
Represents a reference to a specific property of an object identified by a GUID.
public class GuidPropertyReference : DiGi.Core.Classes.UniquePropertyReference<DiGi.Core.Classes.GuidReference>Inheritance System.Object → Object → SerializableObject → SerializableReference → PropertyReference → DiGi.Core.Classes.PropertyReference<GuidReference> → DiGi.Core.Classes.UniquePropertyReference<GuidReference> → GuidPropertyReference
Initializes a new instance of the GuidPropertyReference class by copying an existing reference.
public GuidPropertyReference(DiGi.Core.Classes.GuidPropertyReference guidPropertyReference);guidPropertyReference GuidPropertyReference
The existing reference to copy.
Initializes a new instance of the GuidPropertyReference class with the specified reference and property name.
public GuidPropertyReference(DiGi.Core.Classes.GuidReference reference, string propertyName);reference GuidReference
The reference to use.
propertyName System.String
The name of the property.
Initializes a new instance of the GuidPropertyReference class from the specified JSON object.
public GuidPropertyReference(System.Text.Json.Nodes.JsonObject jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object to initialize from.
Creates a shallow copy of the current object.
public override DiGi.Core.Interfaces.ISerializableObject Clone();Implements Clone()
ISerializableObject
A shallow copy of the current object.
Represents a reference to an object identified by a GUID.
public class GuidReference : DiGi.Core.Classes.UniqueReferenceInheritance System.Object → Object → SerializableObject → SerializableReference → UniqueReference → GuidReference
Initializes a new instance of the GuidReference class by copying an existing reference.
public GuidReference(DiGi.Core.Classes.GuidReference? guidReference);guidReference GuidReference
The existing reference to copy.
Initializes a new instance of the GuidReference class using a type reference and a GUID.
public GuidReference(DiGi.Core.Classes.TypeReference? typeReference, System.Guid guid);typeReference TypeReference
The type reference to use.
guid System.Guid
The GUID value to assign.
Initializes a new instance of the GuidReference class from a GUID object.
public GuidReference(DiGi.Core.Interfaces.IGuidObject? guidObject);guidObject IGuidObject
The GUID object to initialize from.
Initializes a new instance of the GuidReference class using a type name and a GUID.
public GuidReference(string? fullTypeName, System.Guid guid);fullTypeName System.String
The full name of the type.
guid System.Guid
The unique identifier for the reference.
Initializes a new instance of the GuidReference class from a JSON object.
public GuidReference(System.Text.Json.Nodes.JsonObject? jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object to initialize from.
Gets the GUID value of the reference.
public System.Guid Guid { get; }Gets the unique identifier for the reference.
public override string? UniqueId { get; }Implements UniqueId
Creates a deep copy of the current object.
public override DiGi.Core.Interfaces.ISerializableObject? Clone();Implements Clone()
ISerializableObject
A new ISerializableObject that is a copy of the current object.
Returns a string representation of the current object.
public override string? ToString();System.String
A string that represents the current object.
Represents a result containing a GUID.
public abstract class GuidResult : DiGi.Core.Classes.GuidObject, DiGi.Core.Interfaces.IGuidResult, DiGi.Core.Interfaces.IUniqueResult, DiGi.Core.Interfaces.ISerializableResult, DiGi.Core.Interfaces.IResult, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IUniqueObjectInheritance System.Object → Object → SerializableObject → UniqueObject → GuidObject → GuidResult
Derived
↳ GuidResult<TUniqueObject>
Implements IGuidResult, IUniqueResult, ISerializableResult, IResult, IObject, ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<ISerializableObject>, ICloneableObject, IUniqueObject
Initializes a new instance of the GuidResult class.
public GuidResult();Initializes a new instance of the GuidResult class from another GUID result.
public GuidResult(DiGi.Core.Classes.GuidResult? guidResult);guidResult GuidResult
The GUID result to initialize from.
Initializes a new instance of the GuidResult class from the specified JSON object.
public GuidResult(System.Text.Json.Nodes.JsonObject? jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object to initialize from.
Represents a result containing a GUID.
public abstract class GuidResult<TUniqueObject> : DiGi.Core.Classes.GuidResult, DiGi.Core.Interfaces.IUniqueResult<TUniqueObject>, DiGi.Core.Interfaces.IUniqueResult, DiGi.Core.Interfaces.ISerializableResult, DiGi.Core.Interfaces.IResult, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IUniqueObject
where TUniqueObject : DiGi.Core.Interfaces.IUniqueObjectTUniqueObject
The type of the unique object associated with the GUID result.
Inheritance System.Object → Object → SerializableObject → UniqueObject → GuidObject → GuidResult → GuidResult<TUniqueObject>
Derived
↳ ExternalReferenceGuidResult<TUniqueObject,UExternalReference>
Implements DiGi.Core.Interfaces.IUniqueResult<TUniqueObject>, IUniqueResult, ISerializableResult, IResult, IObject, ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<ISerializableObject>, ICloneableObject, IUniqueObject
Initializes a new instance of the GuidResult class.
public GuidResult();Initializes a new instance of the GuidResult class from a generic GUID result.
public GuidResult(DiGi.Core.Classes.GuidResult<TUniqueObject>? guidResult);guidResult DiGi.Core.Classes.GuidResult<TUniqueObject>
The generic GUID result to initialize from.
Initializes a new instance of the GuidResult class from the specified JSON object.
public GuidResult(System.Text.Json.Nodes.JsonObject? jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object to initialize from.
Represents a collection of boolean values mapped to integer indices.
public class IndexedBools : DiGi.Core.Classes.IndexedObjects<bool>Inheritance System.Object → Object → SerializableObject → DiGi.Core.Classes.IndexedObjects<System.Boolean> → IndexedBools
Initializes a new instance of the IndexedBools class.
public IndexedBools();Initializes a new instance of the IndexedBools class by copying another instance.
public IndexedBools(DiGi.Core.Classes.IndexedBools indexedDoubles);indexedDoubles IndexedBools
The source IndexedBools instance to copy from.
Initializes a new instance of the IndexedBools class with a range of indices set to the same value.
public IndexedBools(int startIndex, int count, bool value);startIndex System.Int32
The starting index of the range.
count System.Int32
The number of elements in the range.
value System.Boolean
The boolean value to assign to each element in the range.
Initializes a new instance of the IndexedBools class from a collection of boolean values.
public IndexedBools(System.Collections.Generic.IEnumerable<bool> values);values System.Collections.Generic.IEnumerable<System.Boolean>
The collection of boolean values to use for initialization.
Initializes a new instance of the IndexedBools class from a collection of boolean values starting at a specified index.
public IndexedBools(System.Collections.Generic.IEnumerable<bool> values, int startIndex);values System.Collections.Generic.IEnumerable<System.Boolean>
The collection of boolean values to use for initialization.
startIndex System.Int32
The starting index for the provided values.
Initializes a new instance of the IndexedBools class from a JSON object.
public IndexedBools(System.Text.Json.Nodes.JsonObject jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object to initialize the instance from.
Represents a collection of double-precision floating-point values mapped to integer indices.
public class IndexedDoubles : DiGi.Core.Classes.IndexedObjects<double>Inheritance System.Object → Object → SerializableObject → DiGi.Core.Classes.IndexedObjects<System.Double> → IndexedDoubles
Initializes a new instance of the IndexedDoubles class.
public IndexedDoubles();Initializes a new instance of the IndexedDoubles class by copying another instance.
public IndexedDoubles(DiGi.Core.Classes.IndexedDoubles indexedDoubles);indexedDoubles IndexedDoubles
The source IndexedDoubles instance to copy.
Initializes a new instance of the IndexedDoubles class with a range of indices set to the same value.
public IndexedDoubles(int startIndex, int count, double value);startIndex System.Int32
The starting index for the range.
count System.Int32
The number of elements in the range.
value System.Double
The value to assign to each element in the range.
Initializes a new instance of the IndexedDoubles class from a collection of double values.
public IndexedDoubles(System.Collections.Generic.IEnumerable<double> values);values System.Collections.Generic.IEnumerable<System.Double>
The collection of double values to initialize with.
Initializes a new instance of the IndexedDoubles class from a collection of double values starting at a specified index.
public IndexedDoubles(System.Collections.Generic.IEnumerable<double> values, int startIndex);values System.Collections.Generic.IEnumerable<System.Double>
The collection of double values to initialize with.
startIndex System.Int32
The starting index for the provided values.
Initializes a new instance of the IndexedDoubles class from a JSON object.
public IndexedDoubles(System.Text.Json.Nodes.JsonObject jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object to initialize from.
Calculates and returns the average of all stored values.
public double GetAverage();System.Double
The calculated average of the stored values.
Returns the maximum value present in the collection.
public double GetMaxValue();System.Double
The maximum double value found in the collection.
Returns the index of the maximum value in the collection.
public int GetMaxValueIndex();System.Int32
The zero-based index of the maximum value.
Returns the minimum value present in the collection.
public double GetMinValue();System.Double
The minimum value found in the collection.
Returns the index of the minimum value in the collection.
public int GetMinValueIndex();System.Int32
The zero-based index of the minimum value.
Calculates and returns the sum of all stored values.
public double GetSum();System.Double
The total sum of all stored values.
Adds the values from another IndexedDoubles instance to the current collection.
public void Sum(DiGi.Core.Classes.IndexedDoubles indexedDoubles);indexedDoubles IndexedDoubles
The IndexedDoubles instance containing the values to be added.
Represents a generic collection of objects mapped to integer indices.
public class IndexedObjects<T> : DiGi.Core.Classes.SerializableObject, DiGi.Core.Interfaces.IIndexedObjects<T>, DiGi.Core.Interfaces.IIndexedObjects, DiGi.Core.Interfaces.IObject, System.Collections.IEnumerable, System.Collections.Generic.IEnumerable<T>T
The type of elements in the collection.
Inheritance System.Object → Object → SerializableObject → IndexedObjects<T>
Derived
↳ IndexedBools
↳ IndexedDoubles
Implements DiGi.Core.Interfaces.IIndexedObjects<T>, IIndexedObjects, IObject, System.Collections.IEnumerable, System.Collections.Generic.IEnumerable<T>
Initializes a new instance of the IndexedObjects<T> class.
public IndexedObjects();Initializes a new instance of the IndexedObjects<T> class by copying another instance.
public IndexedObjects(DiGi.Core.Classes.IndexedObjects<T>? indexedObjects);indexedObjects DiGi.Core.Classes.IndexedObjects<T>
The existing instance to copy from.
Initializes a new instance of the IndexedObjects<T> class with a range of indices set to the same value.
public IndexedObjects(int startIndex, int count, T? value);startIndex System.Int32
The starting index of the range.
count System.Int32
The number of elements in the range.
value T
The value to assign to each element in the range.
Initializes a new instance of the IndexedObjects<T> class from a collection of values.
public IndexedObjects(System.Collections.Generic.IEnumerable<T>? values);values System.Collections.Generic.IEnumerable<T>
The collection of values to initialize the collection.
Initializes a new instance of the IndexedObjects<T> class from a collection of values starting at a specified index.
public IndexedObjects(System.Collections.Generic.IEnumerable<T>? values, int startIndex);values System.Collections.Generic.IEnumerable<T>
The collection of values to initialize the collection.
startIndex System.Int32
The starting index for the collection of values.
Initializes a new instance of the IndexedObjects<T> class from a sorted dictionary of indices and values.
public IndexedObjects(System.Collections.Generic.SortedDictionary<int,T?>? sortedDictionary);sortedDictionary System.Collections.Generic.SortedDictionary<System.Int32,T>
The sorted dictionary containing indices and values to initialize the collection.
Initializes a new instance of the IndexedObjects<T> class from a JSON object.
public IndexedObjects(System.Text.Json.Nodes.JsonObject? jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object to initialize the collection.
Gets the number of elements contained in the collection.
public int Count { get; }Gets the collection of all indices currently stored.
public System.Collections.Generic.IEnumerable<int>? Keys { get; }System.Collections.Generic.IEnumerable<System.Int32>
Gets or sets the value associated with the specified index.
public T? this[int index] { get; set; }index System.Int32
The index of the element to get or set.
Gets the collection of all values currently stored.
public System.Collections.Generic.IEnumerable<T?>? Values { get; }System.Collections.Generic.IEnumerable<T>
Adds or updates values across a specified range of indices. Returns true if the operation succeeded.
public bool Add(DiGi.Core.Classes.Range<int> range, T? value);range DiGi.Core.Classes.Range<System.Int32>
The range of indices to update.
value T
The value to add or update.
System.Boolean
True if the operation succeeded; otherwise, false.
Adds or updates a value at the specified index. Returns true if the operation succeeded.
public bool Add(int index, T? value);index System.Int32
The index at which to add or update the value.
value T
The value to add or update.
System.Boolean
True if the operation succeeded; otherwise, false.
Determines whether the collection contains an element at the specified index.
public bool ContainsIndex(int index);index System.Int32
The index to check for existence.
System.Boolean
True if the collection contains an element at the specified index; otherwise, false.
Populates the current instance from a JSON object. Returns true if successful.
public override bool FromJsonObject(System.Text.Json.Nodes.JsonObject? jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object to populate the instance from.
Implements FromJsonObject(JsonObject)
System.Boolean
True if the population was successful; otherwise, false.
Returns an enumerator that iterates through the collection of values.
public System.Collections.Generic.IEnumerator<T> GetEnumerator();Implements GetEnumerator(), GetEnumerator()
System.Collections.Generic.IEnumerator<T>
An enumerator that iterates through the collection.
Gets the highest index present in the collection, or null if empty.
public System.Nullable<int> GetMaxIndex();System.Nullable<System.Int32>
The maximum index present in the collection, or null if the collection is empty.
Gets the lowest index present in the collection, or null if empty.
public System.Nullable<int> GetMinIndex();System.Nullable<System.Int32>
The minimum index present in the collection, or null if the collection is empty.
Retrieves the value at the specified index.
public T? GetValue(int index);index System.Int32
The zero-based index of the element to get.
T
The value at the specified index, or null if not found.
Retrieves a list of values within the specified range.
public System.Collections.Generic.List<T?>? GetValues(DiGi.Core.Classes.Range<int>? range);range DiGi.Core.Classes.Range<System.Int32>
The range of indices from which to retrieve values.
System.Collections.Generic.List<T>
A list of values within the specified range, or null if no values are found.
Retrieves a list of values within the specified range, with an option to bound the results.
public System.Collections.Generic.List<T?>? GetValues(DiGi.Core.Classes.Range<int>? range, bool bounded);range DiGi.Core.Classes.Range<System.Int32>
The range of indices from which to retrieve values.
bounded System.Boolean
A value indicating whether the results should be bounded.
System.Collections.Generic.List<T>
A list of values within the specified range, or null if no values are found.
Removes the element at the specified index. Returns true if the element was found and removed.
public bool Remove(int index);index System.Int32
The zero-based index of the element to remove.
System.Boolean
True if the element was successfully found and removed; otherwise, false.
Serializes the current instance into a JSON object.
public override System.Text.Json.Nodes.JsonObject? ToJsonObject();Implements ToJsonObject()
System.Text.Json.Nodes.JsonObject
A System.Text.Json.Nodes.JsonObject representation of the current instance, or null.
Attempts to get the value associated with the specified index. Returns true if found.
public bool TryGetValue(int index, out T? result);index System.Int32
The zero-based index of the element to get.
result T
When this method returns, contains the value associated with the specified index, if found; otherwise, the default value of the element type.
System.Boolean
True if the element was found; otherwise, false.
Represents a sealed implementation of an external reference related to a specific instance.
public sealed class InstanceRelatedExternalReference : DiGi.Core.Classes.InstanceRelatedExternalReference<DiGi.Core.Interfaces.IInstanceRelatedSerializableReference>Inheritance System.Object → Object → SerializableObject → SerializableReference → ExternalReference → DiGi.Core.Classes.ExternalReference<IInstanceRelatedSerializableReference> → DiGi.Core.Classes.InstanceRelatedExternalReference<IInstanceRelatedSerializableReference> → InstanceRelatedExternalReference
Initializes a new instance of the InstanceRelatedExternalReference class by copying an existing reference.
public InstanceRelatedExternalReference(DiGi.Core.Classes.InstanceRelatedExternalReference? externalReference);externalReference InstanceRelatedExternalReference
The existing reference to copy.
Initializes a new instance of the InstanceRelatedExternalReference class with the specified source and interface-based reference.
public InstanceRelatedExternalReference(string? source, DiGi.Core.Interfaces.IInstanceRelatedSerializableReference? reference);source System.String
The source string.
reference IInstanceRelatedSerializableReference
The interface-based reference.
Initializes a new instance of the InstanceRelatedExternalReference class from the specified JSON object.
public InstanceRelatedExternalReference(System.Text.Json.Nodes.JsonObject? jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object to initialize from.
Represents an abstract base class for external references related to a specific instance.
public abstract class InstanceRelatedExternalReference<TInstanceRelatedSerializableReference> : DiGi.Core.Classes.ExternalReference<TInstanceRelatedSerializableReference>
where TInstanceRelatedSerializableReference : DiGi.Core.Interfaces.IInstanceRelatedSerializableReferenceTInstanceRelatedSerializableReference
The type of the serializable reference related to the instance.
Inheritance System.Object → Object → SerializableObject → SerializableReference → ExternalReference → DiGi.Core.Classes.ExternalReference<TInstanceRelatedSerializableReference> → InstanceRelatedExternalReference<TInstanceRelatedSerializableReference>
Derived
↳ InstanceRelatedExternalReference
↳ UniqueExternalReference<TUniqueReference>
InstanceRelatedExternalReference(InstanceRelatedExternalReference<TInstanceRelatedSerializableReference>) Constructor
Initializes a new instance of the InstanceRelatedExternalReference class by copying an existing generic reference.
public InstanceRelatedExternalReference(DiGi.Core.Classes.InstanceRelatedExternalReference<TInstanceRelatedSerializableReference>? externalReference);externalReference DiGi.Core.Classes.InstanceRelatedExternalReference<TInstanceRelatedSerializableReference>
The existing generic reference to copy.
Initializes a new instance of the InstanceRelatedExternalReference class with the specified source and reference.
public InstanceRelatedExternalReference(string? source, TInstanceRelatedSerializableReference? reference);source System.String
The source string.
reference TInstanceRelatedSerializableReference
The related serializable reference.
Initializes a new instance of the InstanceRelatedExternalReference class from the specified JSON object.
public InstanceRelatedExternalReference(System.Text.Json.Nodes.JsonObject? jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object to initialize from.
Represents a base abstract list implementation.
public abstract class List<TKey_1,TKey_2,TValue> : DiGi.Core.Classes.Cluster<TKey_1, TKey_2, TValue>TKey_1
The type of the first primary key.
TKey_2
The type of the second primary key.
TValue
The type of values contained in the list.
Inheritance System.Object → DiGi.Core.Classes.Cluster<TKey_1,TKey_2,TValue> → List<TKey_1,TKey_2,TValue>
Derived
↳ SerializableObjectListCluster<TKey_1,TKey_2,TValue>
Initializes a new instance of the List class.
public List();Initializes a new instance of the List class from an existing value cluster.
public List(DiGi.Core.Classes.List<TKey_1,TKey_2,TValue>? valueCluster);valueCluster DiGi.Core.Classes.List<TKey_1,TKey_2,TValue>
The existing value cluster to initialize the list from.
Initializes a new instance of the List class using the specified collection of values.
public List(System.Collections.Generic.IEnumerable<TValue>? values);values System.Collections.Generic.IEnumerable<TValue>
The collection of values used to initialize the list.
Adds the specified value to the value cluster.
public override bool Add(TValue? value);value TValue
The value to add to the cluster.
System.Boolean
True if the element is successfully added; otherwise, false.
Removes all elements from the value cluster.
public override void Clear();Determines whether the cluster contains an element with the specified primary key.
public override bool Contains(TKey_1? key_1);key_1 TKey_1
The primary key to locate in the cluster.
System.Boolean
True if the cluster contains an element with the specified primary key; otherwise, false.
Determines whether the cluster contains an element with the specified combination of keys.
public override bool Contains(TKey_1? key_1, TKey_2? key_2);key_1 TKey_1
The first key to search for.
key_2 TKey_2
The second key to search for.
System.Boolean
True if the cluster contains an element with the specified keys; otherwise, false.
Determines whether the cluster contains a specific value.
public override bool Contains(TValue? value);value TValue
The value to locate in the cluster.
System.Boolean
True if the cluster contains the specified value; otherwise, false.
Determines whether two specified values are equal.
public virtual bool Equals(TValue? value_1, TValue? value_2);value_1 TValue
The first value to compare.
value_2 TValue
The second value to compare.
System.Boolean
True if the specified values are equal; otherwise, false.
Retrieves the indexes of elements that match the specified keys and predicate.
public virtual System.Collections.Generic.List<int>? GetIndexes<UValue>(TKey_1? key_1, TKey_2? key_2, System.Func<UValue?,bool>? func)
where UValue : TValue;UValue
The type of the value being evaluated by the predicate.
key_1 TKey_1
The first key to search for.
key_2 TKey_2
The second key to search for.
func System.Func<UValue,System.Boolean>
A predicate function used to filter elements based on their value.
System.Collections.Generic.List<System.Int32>
A list of indexes that match the criteria, or null if no matches are found.
Returns a list of all primary keys in the cluster.
public override System.Collections.Generic.List<TKey_1>? GetKeys_1();System.Collections.Generic.List<TKey_1>
A list containing all primary keys, or null if none exist.
Returns a list of secondary keys associated with the specified primary key.
public override System.Collections.Generic.List<TKey_2>? GetKeys_2(TKey_1? key_1);key_1 TKey_1
The primary key used to retrieve the secondary keys.
System.Collections.Generic.List<TKey_2>
A list of secondary keys associated with the specified primary key, or null if none are found.
Retrieves a value using the provided cluster reference.
public UValue? GetValue<UValue>(DiGi.Core.Classes.ListClusterReference<TKey_1,TKey_2>? listClusterReference)
where UValue : TValue;UValue
The type of value to retrieve.
listClusterReference DiGi.Core.Classes.ListClusterReference<TKey_1,TKey_2>
The cluster reference used to locate the value.
UValue
The retrieved value, or null if not found.
Retrieves the first value that satisfies the specified predicate.
public override UValue? GetValue<UValue>(System.Func<UValue?,bool>? func)
where UValue : TValue;UValue
The type of value to retrieve.
func System.Func<UValue,System.Boolean>
A predicate function used to find a matching value.
UValue
The first value that satisfies the predicate, or null if no match is found.
Returns all values contained in the list.
public override System.Collections.Generic.List<UValue> GetValues<UValue>()
where UValue : TValue;UValue
The type of values stored in the list.
System.Collections.Generic.List<UValue>
A list containing all values currently held in the cluster.
List<TKey_1,TKey_2,TValue>.GetValues<UValue>(IEnumerable<ListClusterReference<TKey_1,TKey_2>>) Method
Retrieves values associated with a collection of cluster references.
public System.Collections.Generic.List<UValue>? GetValues<UValue>(System.Collections.Generic.IEnumerable<DiGi.Core.Classes.ListClusterReference<TKey_1,TKey_2>>? listClusterReferences)
where UValue : TValue;UValue
The type of values being retrieved.
listClusterReferences System.Collections.Generic.IEnumerable<DiGi.Core.Classes.ListClusterReference<TKey_1,TKey_2>>
The collection of cluster references to retrieve values for.
System.Collections.Generic.List<UValue>
A list of retrieved values, or null if no values were found.
Retrieves all values associated with the specified primary key.
public override System.Collections.Generic.List<UValue>? GetValues<UValue>(TKey_1? key_1)
where UValue : TValue;UValue
The type of value to retrieve.
key_1 TKey_1
The primary key used for lookup.
System.Collections.Generic.List<UValue>
A list of values associated with the specified primary key, or null if none are found.
Retrieves values at the specified indexes for the given keys.
public System.Collections.Generic.List<UValue>? GetValues<UValue>(TKey_1? key_1, TKey_2? key_2, System.Collections.Generic.IEnumerable<int> indexes)
where UValue : TValue;UValue
The type of values being retrieved.
key_1 TKey_1
The primary key used to locate the cluster.
key_2 TKey_2
The secondary key used to locate the element within the cluster.
indexes System.Collections.Generic.IEnumerable<System.Int32>
The collection of indexes from which to retrieve values.
System.Collections.Generic.List<UValue>
A list of values found at the specified indexes, or null if no values were found.
Retrieves values that match the specified keys and predicate.
public System.Collections.Generic.List<UValue>? GetValues<UValue>(TKey_1? key_1, TKey_2? key_2, System.Func<UValue?,bool> func)
where UValue : TValue;UValue
The type of value to retrieve.
key_1 TKey_1
The first key used for lookup.
key_2 TKey_2
The second key used for lookup.
func System.Func<UValue,System.Boolean>
A predicate function to filter the values.
System.Collections.Generic.List<UValue>
A list of values that match the specified keys and predicate, or null if none are found.
Removes and returns values associated with the specified cluster references.
public System.Collections.Generic.List<TValue>? Remove(System.Collections.Generic.IEnumerable<DiGi.Core.Classes.ListClusterReference<TKey_1,TKey_2>>? listClusterReferences);listClusterReferences System.Collections.Generic.IEnumerable<DiGi.Core.Classes.ListClusterReference<TKey_1,TKey_2>>
The collection of cluster references to remove.
System.Collections.Generic.List<TValue>
A list of removed values, or null if no values were found for the provided references.
Removes all elements associated with the specified primary key from the cluster.
public override bool Remove(TKey_1? key_1);key_1 TKey_1
The primary key of the elements to remove.
System.Boolean
True if one or more elements were removed; otherwise, false.
Removes the element associated with the specified combination of keys from the cluster.
public override bool Remove(TKey_1? key_1, TKey_2? key_2);key_1 TKey_1
The primary key of the element to remove.
key_2 TKey_2
The secondary key of the element to remove.
System.Boolean
True if the element was successfully removed; otherwise, false.
Removes and returns the value at the specified index for the given keys.
public TValue? Remove(TKey_1? key_1, TKey_2? key_2, int index);key_1 TKey_1
The primary key associated with the value to remove.
key_2 TKey_2
The secondary key associated with the value to remove.
index System.Int32
The index of the value to remove.
TValue
The removed value, or the default value of TValue if the element was not found.
Removes and returns values at the specified indexes for the given keys.
public System.Collections.Generic.List<TValue>? Remove(TKey_1? key_1, TKey_2? key_2, System.Collections.Generic.IEnumerable<int> indexes);key_1 TKey_1
The primary key associated with the values to remove.
key_2 TKey_2
The secondary key associated with the values to remove.
indexes System.Collections.Generic.IEnumerable<System.Int32>
A collection of indexes specifying which values to remove.
System.Collections.Generic.List<TValue>
A list containing the removed values, or null if no values were removed.
Removes the first occurrence of a specific value from the cluster.
public override bool Remove(TValue? value);value TValue
The value to remove from the cluster.
System.Boolean
True if the value was successfully removed; otherwise, false.
Attempts to find the primary key, secondary key, and index of a specific value.
public bool TryGetIndex(TValue? value, out TKey_1? key_1, out TKey_2? key_2, out int index);value TValue
The value to locate in the cluster.
key_1 TKey_1
When this method returns, contains the primary key associated with the specified value, if found; otherwise, the default value of TKey_1.
key_2 TKey_2
When this method returns, contains the secondary key associated with the specified value, if found; otherwise, the default value of TKey_2.
index System.Int32
When this method returns, contains the index of the specified value, if found; otherwise, 0.
System.Boolean
True if the primary key, secondary key, and index were found; otherwise, false.
Provides an abstract base class for references to elements within a list cluster.
public abstract class ListClusterReference<TKey_1,TKey_2> : DiGi.Core.Interfaces.IReference, DiGi.Core.Interfaces.IObject, System.IEquatable<DiGi.Core.Interfaces.IReference>TKey_1
The type of the first key.
TKey_2
The type of the second key.
Inheritance System.Object → ListClusterReference<TKey_1,TKey_2>
Implements IReference, IObject, System.IEquatable<IReference>
Provides an abstract base class for references to elements within a list cluster.
protected ListClusterReference(TKey_1? key_1, TKey_2? key_2, int index);key_1 TKey_1
key_2 TKey_2
index System.Int32
Gets or sets the index of the reference within the list cluster.
public int Index { get; }Gets or sets the primary key associated with the reference.
public TKey_1? Key_1 { get; }Gets or sets the secondary key associated with the reference.
public TKey_2? Key_2 { get; }Determines whether the specified reference is equal to the current reference.
public abstract bool Equals(DiGi.Core.Interfaces.IReference reference);reference IReference
The reference to compare with the current reference.
System.Boolean
true if the specified reference is equal to the current reference; otherwise, false.
Wraps progress reporting for long values.
public class LongProgressWrapper : DiGi.Core.Classes.ProgressWrapper<long>Inheritance System.Object → DiGi.Core.Classes.ProgressWrapper<System.Int64> → LongProgressWrapper
Initializes a new instance of the LongProgressWrapper class with an initial value.
public LongProgressWrapper(long initialValue, System.IProgress<long>? progress=null);initialValue System.Int64
The initial progress value.
progress System.IProgress<System.Int64>
An optional progress reporter.
Initializes a new instance of the LongProgressWrapper class.
public LongProgressWrapper(System.IProgress<long>? progress=null);progress System.IProgress<System.Int64>
An optional progress reporter.
Increments the current progress value and reports the update.
public long Increment(long value);value System.Int64
The amount to increment by.
System.Int64
The updated progress value.
Splits serializable objects by their serialized byte array size.
public class MemorySizeSplitter<TSerializableObject> : DiGi.Core.Classes.Splitter<TSerializableObject, long>
where TSerializableObject : DiGi.Core.Interfaces.ISerializableObjectTSerializableObject
The type of the serializable object.
Inheritance System.Object → DiGi.Core.Classes.Splitter<TSerializableObject,System.Int64> → MemorySizeSplitter<TSerializableObject>
Initializes a new instance of the MemorySizeSplitter<TSerializableObject> class.
public MemorySizeSplitter(System.Collections.Generic.IEnumerable<TSerializableObject> serializableObjects);serializableObjects System.Collections.Generic.IEnumerable<TSerializableObject>
The collection of serializable objects to be split.
Gets the memory size value for the specified serializable object.
public override long GetValue(TSerializableObject? serializableObject);serializableObject TSerializableObject
The serializable object to get the memory size value for.
System.Int64
The memory size value of the specified serializable object.
Class MultiUpdater.
public class MultiUpdater<TValue> : DiGi.Core.Interfaces.IUpdater<TValue>, DiGi.Core.Interfaces.IUpdater, DiGi.Core.Interfaces.IEvaluatorTValue
The type of value handled by the MultiUpdater.
Inheritance System.Object → MultiUpdater<TValue>
Implements DiGi.Core.Interfaces.IUpdater<TValue>, IUpdater, IEvaluator
Initializes a new instance of the MultiUpdater<TValue> class using a collection of updaters.
public MultiUpdater(System.Collections.Generic.IEnumerable<DiGi.Core.Interfaces.IUpdater> updaters);updaters System.Collections.Generic.IEnumerable<IUpdater>
The collection of updaters to initialize the MultiUpdater with.
Gets the current value associated with the updater.
public TValue? Value { get; set; }Implements Value
Performs an update operation and returns whether any changes were made.
public bool Update();Implements Update()
System.Boolean
True if any changes were made; otherwise, false.
Performs an update operation and returns a boolean array indicating which specific updaters were modified.
public bool Update(out bool[]? updated);updated System.Boolean[]
When this method returns, contains a boolean array indicating which specific updaters were modified.
System.Boolean
True if the update operation was successful; otherwise, false.
Base abstract class for all domain objects within DiGi.Core.
public abstract class Object : DiGi.Core.Interfaces.IObjectInheritance System.Object → Object
Derived
↳ SerializableObject
Implements IObject
Initializes a new instance of the Object class.
public Object();Represents a hierarchical path to an object.
public class ObjectPath : DiGi.Core.Classes.ObjectPath<DiGi.Core.Classes.ObjectPath>Inheritance System.Object → Object → SerializableObject → DiGi.Core.Classes.ObjectPath<ObjectPath> → ObjectPath
Initializes a new instance of the ObjectPath class with a single segment name.
public ObjectPath(string name);name System.String
The name of the path segment.
Initializes a new instance of the ObjectPath class by appending a name to an existing path.
public ObjectPath(string name, DiGi.Core.Classes.ObjectPath path);name System.String
The name of the segment to append.
path ObjectPath
The existing path to which the name is appended.
Initializes a new instance of the ObjectPath class using a collection of segment names.
public ObjectPath(System.Collections.Generic.IEnumerable<string> names);names System.Collections.Generic.IEnumerable<System.String>
The collection of segment names to include in the path.
Initializes a new instance of the ObjectPath class from a JSON object.
public ObjectPath(System.Text.Json.Nodes.JsonObject jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object used to initialize the path.
Base class for representing a hierarchical path to an object.
public abstract class ObjectPath<TObjectPath> : DiGi.Core.Classes.SerializableObject, DiGi.Core.Interfaces.IObjectPath<TObjectPath>, DiGi.Core.Interfaces.IObjectPath, DiGi.Core.Interfaces.IObject
where TObjectPath : DiGi.Core.Classes.ObjectPath<TObjectPath>TObjectPath
The type of the object path.
Inheritance System.Object → Object → SerializableObject → ObjectPath<TObjectPath>
Derived
↳ CategoryPath
↳ ObjectPath
Implements DiGi.Core.Interfaces.IObjectPath<TObjectPath>, IObjectPath, IObject
Initializes a new instance of the ObjectPath class by copying an existing path.
public ObjectPath(DiGi.Core.Classes.ObjectPath<TObjectPath>? path);path DiGi.Core.Classes.ObjectPath<TObjectPath>
The existing path to copy.
Initializes a new instance of the ObjectPath class with a single segment name.
public ObjectPath(string? name);name System.String
The name of the single segment.
Initializes a new instance of the ObjectPath class by appending a name to an existing path.
public ObjectPath(string? name, TObjectPath? path);name System.String
The name of the segment to append.
path TObjectPath
The existing path to which the name is appended.
Initializes a new instance of the ObjectPath class using a collection of segment names.
public ObjectPath(System.Collections.Generic.IEnumerable<string>? names);names System.Collections.Generic.IEnumerable<System.String>
The collection of segment names.
Initializes a new instance of the ObjectPath class from a JSON object.
public ObjectPath(System.Text.Json.Nodes.JsonObject? jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object to create the path from.
Gets the name of the current path segment.
public string Name { get; set; }Gets the parent path segment.
public TObjectPath? Path { get; set; }Gets the character used to separate segments in the path.
public static string Separator { get; }Appends a new segment to the path and returns the resulting path.
public TObjectPath? Add(string? name);name System.String
The name of the segment to append.
TObjectPath
The resulting path after appending the segment.
Appends multiple segments to the path and returns the resulting path.
public TObjectPath? Add(System.Collections.Generic.IEnumerable<string>? names);names System.Collections.Generic.IEnumerable<System.String>
The collection of segment names to append.
TObjectPath
The resulting path after appending the segments.
Determines whether the specified object is equal to the current path.
public override bool Equals(object obj);obj System.Object
The object to compare with the current path.
System.Boolean
True if the objects are equal; otherwise, false.
Returns the hash code for this path.
public override int GetHashCode();System.Int32
The hash code for this path.
Retrieves a list of all segment names in the path.
public System.Collections.Generic.List<string> GetNames(bool includeName=true);includeName System.Boolean
A value indicating whether to include the name.
System.Collections.Generic.List<System.String>
A list of strings containing the segment names.
Returns a string representation of the hierarchical path.
public override string ToString();System.String
A string representing the hierarchical path.
Provides thread-safe progress reporting for values of type T.
public class ProgressWrapper<T> : DiGi.Core.Interfaces.IObjectT
The type of the progress value.
Inheritance System.Object → ProgressWrapper<T>
Derived
↳ LongProgressWrapper
Implements IObject
Initializes a new instance of the ProgressWrapper<T> class with an initial value.
public ProgressWrapper(T initialValue, System.IProgress<T>? progress=null);initialValue T
The initial progress value.
progress System.IProgress<T>
An optional IProgress implementation to report updates to.
Gets the current progress value.
public T Current { get; private set; }Reports a new progress value.
public void Report(T value);value T
The progress value to report.
Represents a reference to a property within a serializable object.
public abstract class PropertyReference : DiGi.Core.Classes.SerializableReferenceInheritance System.Object → Object → SerializableObject → SerializableReference → PropertyReference
Derived
↳ PropertyReference<USerializableReference>
Initializes a new instance of the PropertyReference class by copying an existing reference.
public PropertyReference(DiGi.Core.Classes.PropertyReference? propertyReference);propertyReference PropertyReference
The property reference to copy.
Initializes a new instance of the PropertyReference class with the specified property name.
public PropertyReference(string? propertyName);propertyName System.String
The name of the property.
Initializes a new instance of the PropertyReference class from the specified nullable JSON object.
public PropertyReference(System.Text.Json.Nodes.JsonObject? jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object to create the reference from.
Gets or sets the name of the referenced property.
public string? PropertyName { get; }Represents a typed reference to a property within a serializable object.
public abstract class PropertyReference<USerializableReference> : DiGi.Core.Classes.PropertyReference
where USerializableReference : DiGi.Core.Classes.SerializableReferenceUSerializableReference
The type of the serializable reference.
Inheritance System.Object → Object → SerializableObject → SerializableReference → PropertyReference → PropertyReference<USerializableReference>
Derived
↳ TypePropertyReference
↳ UniquePropertyReference<UUniquePropertyReference>
Initializes a new instance of the PropertyReference class by copying an existing generic reference.
public PropertyReference(DiGi.Core.Classes.PropertyReference<USerializableReference>? propertyReference);propertyReference DiGi.Core.Classes.PropertyReference<USerializableReference>
The generic property reference to copy.
Initializes a new instance of the PropertyReference class from the specified JSON object.
public PropertyReference(System.Text.Json.Nodes.JsonObject jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object to initialize from.
Initializes a new instance of the PropertyReference class with the specified serializable reference and property name.
public PropertyReference(USerializableReference? reference, string? propertyName);reference USerializableReference
The serializable reference.
propertyName System.String
The name of the property.
Gets or sets the serializable reference associated with this property reference.
public USerializableReference? Reference { get; }Returns a string that represents the current object.
public override string? ToString();System.String
A string representation of the current object.
Represents a closed interval between a minimum and maximum value of type T.
public class Range<T> : DiGi.Core.Classes.SerializableObjectT
The type of the values in the range.
Inheritance System.Object → Object → SerializableObject → Range<T>
Derived
↳ DateTimeRange
Initializes a new instance of the Range<T> class by copying an existing range.
public Range(DiGi.Core.Classes.Range<T>? range);range DiGi.Core.Classes.Range<T>
The existing range to copy.
Initializes a new instance of the Range<T> class based on a collection of values.
public Range(System.Collections.Generic.IEnumerable<T>? values);values System.Collections.Generic.IEnumerable<T>
The collection of values to use for initializing the range.
Initializes a new instance of the Range<T> class from a JSON object.
public Range(System.Text.Json.Nodes.JsonObject? jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object to initialize the range from.
Initializes a new instance of the Range<T> class with specified boundary values.
public Range(T? value_1, T? value_2);value_1 T
The first boundary value.
value_2 T
The second boundary value.
Gets the length of the range.
public virtual T Length { get; }Gets the maximum value of the range.
public T Max { get; }Gets the minimum value of the range.
public T Min { get; }Expands the current range to include another range and returns true if the range was modified.
public bool Add(DiGi.Core.Classes.Range<T>? value);value DiGi.Core.Classes.Range<T>
The range to add.
System.Boolean
True if the range was modified; otherwise, false.
Adds a value to the range and returns true if the range was expanded.
public bool Add(T value);value T
The value to add.
System.Boolean
True if the range was expanded; otherwise, false.
Determines whether the specified object is equal to the current range.
public override bool Equals(object? @object);object System.Object
The object to compare with the current range.
System.Boolean
True if the specified object is equal to the current range; otherwise, false.
Gets the hash code for the current type reference.
public override int GetHashCode();System.Int32
A hash code for the current object.
Determines whether another range is entirely contained within this range.
public bool In(DiGi.Core.Classes.Range<T>? range);range DiGi.Core.Classes.Range<T>
The range to check for containment.
System.Boolean
True if the specified range is contained within this range; otherwise, false.
Determines whether another range is contained within this range, considering a given tolerance.
public bool In(DiGi.Core.Classes.Range<T>? range, T tolerance);range DiGi.Core.Classes.Range<T>
The range to check for containment.
tolerance T
The tolerance value to use during the containment check.
System.Boolean
True if the specified range is contained within this range; otherwise, false.
Determines whether a specified value is contained within the range.
public bool In(T value);value T
The value to check for containment.
System.Boolean
True if the value is contained within the range; otherwise, false.
Determines whether a specified value is contained within the range, considering a given tolerance.
public bool In(T value, T tolerance);value T
The value to check for containment.
tolerance T
The tolerance value to use during the containment check.
System.Boolean
True if the specified value is contained within the range; otherwise, false.
Determines whether the specified range is in range (intersects or is within tolerance) of the current range.
public bool InRange(DiGi.Core.Classes.Range<T>? range, T tolerance);range DiGi.Core.Classes.Range<T>
The range to check.
tolerance T
The tolerance value to consider.
System.Boolean
True if the ranges intersect or are within the specified tolerance; otherwise, false.
Determines whether the current range intersects with another specified range.
public bool Intersect(DiGi.Core.Classes.Range<T>? range);range DiGi.Core.Classes.Range<T>
The range to check for intersection.
System.Boolean
True if the ranges intersect; otherwise, false.
Determines whether the current range intersects with another specified range, considering a given tolerance.
public bool Intersect(DiGi.Core.Classes.Range<T>? range, T tolerance);range DiGi.Core.Classes.Range<T>
The range to check for intersection.
tolerance T
The tolerance value to use during the intersection check.
System.Boolean
True if the ranges intersect; otherwise, false.
Determines whether another range is completely outside this range.
public bool Out(DiGi.Core.Classes.Range<T>? range);range DiGi.Core.Classes.Range<T>
The range to check.
System.Boolean
True if the specified range is completely outside this range; otherwise, false.
Determines whether another range is completely outside this range, considering a given tolerance.
public bool Out(DiGi.Core.Classes.Range<T>? range, T tolerance);range DiGi.Core.Classes.Range<T>
The range to check.
tolerance T
The tolerance value to consider.
System.Boolean
True if the specified range is completely outside this range; otherwise, false.
Determines whether a specified value is outside the boundaries of the range.
public bool Out(T value);value T
The value to check.
System.Boolean
True if the specified value is outside the boundaries of the range; otherwise, false.
Determines whether a specified value is outside the boundaries of the range, considering a given tolerance.
public bool Out(T value, T tolerance);value T
The value to check.
tolerance T
The tolerance value to consider.
System.Boolean
True if the specified value is outside the boundaries of the range; otherwise, false.
Returns a string representation of the current range.
public override string ToString();System.String
A string that represents the current range.
Compares the specified Range<T> with another object for equality.
public static bool operator ==(DiGi.Core.Classes.Range<T>? range, object? @object);range DiGi.Core.Classes.Range<T>
The Range<T> instance to compare.
object System.Object
The object to compare with the range.
System.Boolean
true if the objects are equal; otherwise, false.
Compares the specified Range<T> with another object for inequality.
public static bool operator !=(DiGi.Core.Classes.Range<T>? range, object? @object);range DiGi.Core.Classes.Range<T>
The Range<T> instance to compare.
object System.Object
The object to compare with the range.
System.Boolean
true if the objects are not equal; otherwise, false.
Provides a base class for background tasks that report progress during execution.
public abstract class ReportableBackgroundTask<T> : DiGi.Core.Classes.CancelableBackgroundTask, DiGi.Core.Interfaces.IReportableBackgroundTask<T>, DiGi.Core.Interfaces.IReportableBackgroundTask, DiGi.Core.Interfaces.ICancelableBackgroundTask, DiGi.Core.Interfaces.IBackgroundTask, DiGi.Core.Interfaces.IObjectT
The type of progress data reported.
Inheritance System.Object → BackgroundTask → CancelableBackgroundTask → ReportableBackgroundTask<T>
Implements DiGi.Core.Interfaces.IReportableBackgroundTask<T>, IReportableBackgroundTask, ICancelableBackgroundTask, IBackgroundTask, IObject
When overridden in a derived class, defines the work to be executed with progress reporting.
protected abstract System.Threading.Tasks.Task<bool> ExecuteAsync(System.IProgress<T> progress, System.Threading.CancellationToken cancellationToken);progress System.IProgress<T>
The progress reporter for reporting progress updates.
cancellationToken System.Threading.CancellationToken
The cancellation token to observe.
System.Threading.Tasks.Task<System.Boolean>
True if the task succeeded; otherwise, false.
Executes the background task with progress reporting support.
protected override System.Threading.Tasks.Task<bool> ExecuteAsync(System.Threading.CancellationToken cancellationToken);cancellationToken System.Threading.CancellationToken
The cancellation token to observe.
System.Threading.Tasks.Task<System.Boolean>
True if the task succeeded; otherwise, false.
Raises the ProgressChanged event with the given progress value.
protected virtual void OnProgressChanged(T value);value T
The progress value to report.
Occurs when the task reports progress.
public event EventHandler<T>? ProgressChanged;Implements ProgressChanged
Base class for models that support serialization.
public abstract class SerializableModel : DiGi.Core.Classes.SerializableObject, DiGi.Core.Interfaces.ISerializableModel, DiGi.Core.Interfaces.IModel, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObjectInheritance System.Object → Object → SerializableObject → SerializableModel
Implements ISerializableModel, IModel, IObject, ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<ISerializableObject>, ICloneableObject
Initializes a new instance of the SerializableModel class.
public SerializableModel();Initializes a new instance of the SerializableModel class by copying an existing model.
public SerializableModel(DiGi.Core.Classes.SerializableModel serializableModel);serializableModel SerializableModel
The source model to copy from.
Initializes a new instance of the SerializableModel class from a JSON object.
public SerializableModel(System.Text.Json.Nodes.JsonObject jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object used to initialize the model.
Abstract base class that provides core JSON serialization and deserialization capabilities to an Object.
public abstract class SerializableObject : DiGi.Core.Classes.Object, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObjectInheritance System.Object → Object → SerializableObject
Derived
↳ Address
↳ Category
↳ Color
↳ ConfigurationFile
↳ Coordinates
↳ DateTimeCollection
↳ DateTimeSeries
↳ IndexedObjects<T>
↳ ObjectPath<TObjectPath>
↳ Range<T>
↳ SerializableModel
↳ SerializableObjectCollection<T>
↳ SerializableObjectWrapper
↳ SerializableOptions
↳ SerializableReference
↳ SerializableResult
↳ Size
↳ UniqueObject
↳ Value<TObject>
Implements ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<ISerializableObject>, ICloneableObject, IObject
Initializes a new instance of the SerializableObject class.
public SerializableObject();Initializes a new instance of the SerializableObject class by copying another serializable object.
public SerializableObject(DiGi.Core.Classes.SerializableObject? serializableObject);serializableObject SerializableObject
The source object to copy from.
Initializes a new instance of the SerializableObject class from a JsonObject.
public SerializableObject(System.Text.Json.Nodes.JsonObject? jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object containing serializable data.
Gets the full type name of the object for serialization purposes.
private string? FullTypeName { private get; }Creates a deep copy of the serializable object by serializing and deserializing it.
public virtual DiGi.Core.Interfaces.ISerializableObject? Clone();Implements Clone()
ISerializableObject
A new ISerializableObject instance that is a deep copy of the current object, or null if cloning fails.
Populates the object's properties from a JsonObject.
public virtual bool FromJsonObject(System.Text.Json.Nodes.JsonObject? jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The System.Text.Json.Nodes.JsonObject containing the data to populate the object.
Implements FromJsonObject(JsonObject)
System.Boolean
True if the object was successfully populated; otherwise, false.
Converts the object into a JsonObject for serialization.
public virtual System.Text.Json.Nodes.JsonObject? ToJsonObject();Implements ToJsonObject()
System.Text.Json.Nodes.JsonObject
A System.Text.Json.Nodes.JsonObject representation of the object, or null if conversion fails.
Explicitly converts a System.Text.Json.Nodes.JsonObject to a SerializableObject instance.
public static DiGi.Core.Classes.SerializableObject? explicit operator DiGi.Core.Classes.SerializableObject?(System.Text.Json.Nodes.JsonObject? jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The System.Text.Json.Nodes.JsonObject to convert from.
SerializableObject
A SerializableObject instance created from the provided System.Text.Json.Nodes.JsonObject, or null if the conversion fails or the input is null.
Explicitly converts a SerializableObject instance to a System.Text.Json.Nodes.JsonObject.
public static System.Text.Json.Nodes.JsonObject? explicit operator System.Text.Json.Nodes.JsonObject?(DiGi.Core.Classes.SerializableObject? serializableObject);serializableObject SerializableObject
The SerializableObject instance to convert from.
System.Text.Json.Nodes.JsonObject
A System.Text.Json.Nodes.JsonObject representation of the provided SerializableObject, or null if the input is null.
Non-generic version of SerializableObjectCollection for handling a collection of ISerializableObjects.
public class SerializableObjectCollection : DiGi.Core.Classes.SerializableObjectCollection<DiGi.Core.Interfaces.ISerializableObject>Inheritance System.Object → Object → SerializableObject → DiGi.Core.Classes.SerializableObjectCollection<ISerializableObject> → SerializableObjectCollection
Initializes a new instance of the SerializableObjectCollection class.
public SerializableObjectCollection();Initializes a new instance of the SerializableObjectCollection class by copying another collection.
public SerializableObjectCollection(DiGi.Core.Classes.SerializableObjectCollection? serializableObjectCollection);serializableObjectCollection SerializableObjectCollection
The source collection to copy from.
Initializes a new instance of the SerializableObjectCollection class from an enumerable of ISerializableObject instances.
public SerializableObjectCollection(System.Collections.Generic.IEnumerable<DiGi.Core.Interfaces.ISerializableObject>? serializableObjects);serializableObjects System.Collections.Generic.IEnumerable<ISerializableObject>
The enumerable of serializable objects to initialize the collection with.
Initializes a new instance of the SerializableObjectCollection class from a JSON object.
public SerializableObjectCollection(System.Text.Json.Nodes.JsonObject? jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object to initialize the collection from.
Creates a new object that is a copy of the current instance.
public override DiGi.Core.Interfaces.ISerializableObject? Clone();Implements Clone()
ISerializableObject
A new object that is a copy of this instance.
A serializable collection of objects implementing ISerializableObject.
public class SerializableObjectCollection<T> : DiGi.Core.Classes.SerializableObject, System.Collections.Generic.ICollection<T>, System.Collections.Generic.IEnumerable<T>, System.Collections.IEnumerable
where T : DiGi.Core.Interfaces.ISerializableObjectT
The type of elements in the collection.
Inheritance System.Object → Object → SerializableObject → SerializableObjectCollection<T>
Derived
↳ SerializableObjectCollection
Implements System.Collections.Generic.ICollection<T>, System.Collections.Generic.IEnumerable<T>, System.Collections.IEnumerable
Initializes a new instance of the SerializableObjectCollection<T> class.
public SerializableObjectCollection();Initializes a new instance of the SerializableObjectCollection<T> class by copying another collection.
public SerializableObjectCollection(DiGi.Core.Classes.SerializableObjectCollection<T>? serializableObjectCollection);serializableObjectCollection DiGi.Core.Classes.SerializableObjectCollection<T>
The source collection to copy from.
Initializes a new instance of the SerializableObjectCollection<T> class from an enumerable of serializable objects.
public SerializableObjectCollection(System.Collections.Generic.IEnumerable<T>? serializableObjects);serializableObjects System.Collections.Generic.IEnumerable<T>
The enumerable of serializable objects to initialize the collection with.
Initializes a new instance of the SerializableObjectCollection<T> class from a JSON object.
public SerializableObjectCollection(System.Text.Json.Nodes.JsonObject? jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object to initialize the collection from.
Gets the number of elements contained in the collection.
public int Count { get; }Implements Count
Gets a value indicating whether the collection is read-only.
public bool IsReadOnly { get; }Implements IsReadOnly
Gets or sets the element at the specified index of the collection.
public T this[int index] { get; set; }index System.Int32
The zero-based index of the element to get or set.
Gets the list of elements contained in the collection.
public System.Collections.Generic.IList<T> Values { get; }System.Collections.Generic.IList<T>
Adds an item to the collection.
public void Add(T serializableObject);serializableObject T
The object to add to the collection.
Implements Add(T)
Removes all items from the collection.
public void Clear();Implements Clear()
Determines whether the collection contains a specific value.
public bool Contains(T? item);item T
The object to locate in the collection.
Implements Contains(T)
System.Boolean
True if the item is found; otherwise, false.
Copies the elements of the collection to an Array, starting at a particular Array index.
public void CopyTo(T[] array, int arrayIndex);The one-dimensional Array that is the destination of the elements.
arrayIndex System.Int32
The zero-based index in array at which copying begins.
Implements CopyTo(T[], int)
Returns an enumerator that iterates through the collection.
public System.Collections.Generic.IEnumerator<T> GetEnumerator();Implements GetEnumerator(), GetEnumerator()
System.Collections.Generic.IEnumerator<T>
An enumerator that can be used to iterate through the collection.
Removes the first occurrence of a specific object from the collection.
public bool Remove(T? item);item T
The object to remove from the collection.
Implements Remove(T)
System.Boolean
True if item was successfully removed from the collection; otherwise, false.
Removes the element at the specified index of the collection.
public void RemoveAt(int index);index System.Int32
The zero-based index of the element to remove.
Explicitly converts a System.Collections.Generic.List<> to a SerializableObjectCollection<T>.
public static DiGi.Core.Classes.SerializableObjectCollection<T>? explicit operator DiGi.Core.Classes.SerializableObjectCollection<T>?(System.Collections.Generic.List<T>? serializableObjects);serializableObjects System.Collections.Generic.List<T>
The list of objects to convert into a collection.
DiGi.Core.Classes.SerializableObjectCollection<T>
A new instance of SerializableObjectCollection<T> containing the provided elements, or null if the input list is null.
Explicitly converts an array of type T to a SerializableObjectCollection<T>.
public static DiGi.Core.Classes.SerializableObjectCollection<T>? explicit operator DiGi.Core.Classes.SerializableObjectCollection<T>?(T[]? serializableObjects);The array of objects to convert into a collection.
DiGi.Core.Classes.SerializableObjectCollection<T>
A new instance of SerializableObjectCollection<T> containing the provided elements, or null if the input array is null.
Explicitly converts a SerializableObjectCollection<T> to a System.Collections.Generic.List<>.
public static System.Collections.Generic.List<T>? explicit operator System.Collections.Generic.List<T>?(DiGi.Core.Classes.SerializableObjectCollection<T>? serializableObjectCollection);serializableObjectCollection DiGi.Core.Classes.SerializableObjectCollection<T>
The serializable object collection to convert into a list.
System.Collections.Generic.List<T>
A new instance of System.Collections.Generic.List<> containing the elements from the source collection, or null if the input collection is null.
Explicitly converts the SerializableObjectCollection<T> to an array of type T.
public static T[]? explicit operator T[]?(DiGi.Core.Classes.SerializableObjectCollection<T>? serializableObjectCollection);serializableObjectCollection DiGi.Core.Classes.SerializableObjectCollection<T>
The collection instance to convert.
T[]
An array containing the elements of the collection, or null if the provided collection is null.
Returns an enumerator that iterates through a collection.
System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator();Implements GetEnumerator()
Base class for clusters of serializable objects keyed by two keys.
public abstract class SerializableObjectListCluster<TKey_1,TKey_2,TValue> : DiGi.Core.Classes.List<TKey_1, TKey_2, TValue>, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject
where TValue : DiGi.Core.Interfaces.ISerializableObjectTKey_1
The type of the first key.
TKey_2
The type of the second key.
TValue
The type of the values in the cluster.
Inheritance System.Object → DiGi.Core.Classes.Cluster<TKey_1,TKey_2,TValue> → DiGi.Core.Classes.List<TKey_1,TKey_2,TValue> → SerializableObjectListCluster<TKey_1,TKey_2,TValue>
Implements ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<ISerializableObject>, ICloneableObject, IObject
Initializes a new instance of the SerializableObjectListCluster class.
public SerializableObjectListCluster();Initializes a new instance of the SerializableObjectListCluster class from another serializable list cluster.
public SerializableObjectListCluster(DiGi.Core.Classes.SerializableObjectListCluster<TKey_1,TKey_2,TValue>? serializableObjectListCluster);serializableObjectListCluster DiGi.Core.Classes.SerializableObjectListCluster<TKey_1,TKey_2,TValue>
The source serializable list cluster to copy from.
Initializes a new instance of the SerializableObjectListCluster class using the specified collection of values.
public SerializableObjectListCluster(System.Collections.Generic.IEnumerable<TValue>? values);values System.Collections.Generic.IEnumerable<TValue>
The collection of values to initialize the cluster with.
Initializes a new instance of the SerializableObjectListCluster class from a JSON object.
public SerializableObjectListCluster(System.Text.Json.Nodes.JsonObject? jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object to initialize the cluster from.
Creates a deep copy of the current serializable value cluster.
public virtual DiGi.Core.Interfaces.ISerializableObject? Clone();Implements Clone()
ISerializableObject
A new ISerializableObject that is a clone of the current instance, or null.
Populates the current instance from the specified JSON object.
public bool FromJsonObject(System.Text.Json.Nodes.JsonObject? jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object to populate the instance from.
Implements FromJsonObject(JsonObject)
System.Boolean
True if the population was successful; otherwise, false.
Converts the current instance into a JSON object.
public System.Text.Json.Nodes.JsonObject? ToJsonObject();Implements ToJsonObject()
System.Text.Json.Nodes.JsonObject
A System.Text.Json.Nodes.JsonObject representation of the current instance, or null.
Represents a base abstract serializable value cluster.
public abstract class SerializableObjectValueCluster<TKey_1,TKey_2,TValue> : DiGi.Core.Classes.ValueCluster<TKey_1, TKey_2, TValue>, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject
where TValue : DiGi.Core.Interfaces.ISerializableObjectTKey_1
The type of the first key.
TKey_2
The type of the second key.
TValue
The type of the value.
Inheritance System.Object → DiGi.Core.Classes.Cluster<TKey_1,TKey_2,TValue> → DiGi.Core.Classes.ValueCluster<TKey_1,TKey_2,TValue> → SerializableObjectValueCluster<TKey_1,TKey_2,TValue>
Derived
↳ UniqueObjectValueCluster<TValue>
Implements ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<ISerializableObject>, ICloneableObject, IObject
Initializes a new instance of the SerializableObjectValueCluster class.
public SerializableObjectValueCluster();Initializes a new instance of the SerializableObjectValueCluster class from another serializable value cluster.
public SerializableObjectValueCluster(DiGi.Core.Classes.SerializableObjectValueCluster<TKey_1,TKey_2,TValue>? serializableObjectValueCluster);serializableObjectValueCluster DiGi.Core.Classes.SerializableObjectValueCluster<TKey_1,TKey_2,TValue>
The serializable value cluster to copy from.
Initializes a new instance of the SerializableObjectValueCluster class using the specified collection of values.
public SerializableObjectValueCluster(System.Collections.Generic.IEnumerable<TValue>? values);values System.Collections.Generic.IEnumerable<TValue>
The collection of values to initialize the cluster with.
Initializes a new instance of the SerializableObjectValueCluster class from a JSON object.
public SerializableObjectValueCluster(System.Text.Json.Nodes.JsonObject? jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object used to initialize the current instance.
Creates a deep copy of the current serializable value cluster.
public virtual DiGi.Core.Interfaces.ISerializableObject? Clone();Implements Clone()
ISerializableObject
A new ISerializableObject that is a deep copy of the current instance, or null.
Populates the current instance from the specified JSON object.
public bool FromJsonObject(System.Text.Json.Nodes.JsonObject? jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object to populate the instance from.
Implements FromJsonObject(JsonObject)
System.Boolean
True if the population was successful; otherwise, false.
Converts the current instance into a JSON object.
public System.Text.Json.Nodes.JsonObject? ToJsonObject();Implements ToJsonObject()
System.Text.Json.Nodes.JsonObject
A System.Text.Json.Nodes.JsonObject representation of the current instance, or null.
A wrapper that encapsulates a JsonObject, allowing it to be treated as a SerializableObject without full deserialization.
public class SerializableObjectWrapper : DiGi.Core.Classes.SerializableObjectInheritance System.Object → Object → SerializableObject → SerializableObjectWrapper
Initializes a new instance of the SerializableObjectWrapper class.
public SerializableObjectWrapper();Initializes a new instance of the SerializableObjectWrapper class by copying another instance.
public SerializableObjectWrapper(DiGi.Core.Classes.SerializableObjectWrapper? serializableObjectWrapper);serializableObjectWrapper SerializableObjectWrapper
The source wrapper to copy from.
Initializes a new instance of the SerializableObjectWrapper class from a JSON object.
public SerializableObjectWrapper(System.Text.Json.Nodes.JsonObject? jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object to wrap.
Creates a new object that is a copy of the current instance.
public override DiGi.Core.Interfaces.ISerializableObject? Clone();Implements Clone()
ISerializableObject
A new object that is a copy of this instance.
Populates the object's properties from the specified JsonObject.
public override bool FromJsonObject(System.Text.Json.Nodes.JsonObject? jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JsonObject to populate from.
Implements FromJsonObject(JsonObject)
System.Boolean
True if the operation was successful; otherwise, false.
Converts the current instance into a JsonObject.
public override System.Text.Json.Nodes.JsonObject? ToJsonObject();Implements ToJsonObject()
System.Text.Json.Nodes.JsonObject
A JsonObject representation of the instance.
Attempts to retrieve the full type name from the wrapped JsonObject.
public bool TryGetFullTypeName(out string? fullTypeName);fullTypeName System.String
When this method returns, contains the full type name if successful; otherwise, null.
System.Boolean
True if the full type name was successfully retrieved; otherwise, false.
Explicitly converts a System.Text.Json.Nodes.JsonObject to a SerializableObjectWrapper.
public static DiGi.Core.Classes.SerializableObjectWrapper? explicit operator DiGi.Core.Classes.SerializableObjectWrapper?(System.Text.Json.Nodes.JsonObject? jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The System.Text.Json.Nodes.JsonObject to convert.
SerializableObjectWrapper
A new SerializableObjectWrapper instance wrapping the provided System.Text.Json.Nodes.JsonObject.
Explicitly converts a SerializableObjectWrapper to a System.Text.Json.Nodes.JsonObject.
public static System.Text.Json.Nodes.JsonObject? explicit operator System.Text.Json.Nodes.JsonObject?(DiGi.Core.Classes.SerializableObjectWrapper? serializableObjectWrapper);serializableObjectWrapper SerializableObjectWrapper
The SerializableObjectWrapper instance to convert.
System.Text.Json.Nodes.JsonObject
A System.Text.Json.Nodes.JsonObject representation of the wrapper, or null if the wrapper is null.
Abstract base class for serializable configuration or option objects.
public abstract class SerializableOptions : DiGi.Core.Classes.SerializableObject, DiGi.Core.Interfaces.ISerializableOptions, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.IOptionsInheritance System.Object → Object → SerializableObject → SerializableOptions
Derived
↳ ConvertOptions
Implements ISerializableOptions, ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<ISerializableObject>, ICloneableObject, IObject, IOptions
Initializes a new instance of the SerializableOptions class.
public SerializableOptions();Initializes a new instance of the SerializableOptions class by copying another options instance.
public SerializableOptions(DiGi.Core.Classes.SerializableOptions? serializableOptions);serializableOptions SerializableOptions
The source options instance to copy from.
Initializes a new instance of the SerializableOptions class from a JSON object.
public SerializableOptions(System.Text.Json.Nodes.JsonObject? jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object to initialize options from.
Base class for serializable references with equality comparison based on hash codes.
public abstract class SerializableReference : DiGi.Core.Classes.SerializableObject, DiGi.Core.Interfaces.ISerializableReference, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.IReference, System.IEquatable<DiGi.Core.Interfaces.IReference>Inheritance System.Object → Object → SerializableObject → SerializableReference
Derived
↳ ExternalReference
↳ PropertyReference
↳ TypeReference
↳ UniqueReference
Implements ISerializableReference, ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<ISerializableObject>, ICloneableObject, IObject, IReference, System.IEquatable<IReference>
Initializes a new instance of the SerializableReference class.
public SerializableReference();Initializes a new instance of the SerializableReference class by copying an existing reference.
public SerializableReference(DiGi.Core.Classes.SerializableReference? serializableReference);serializableReference SerializableReference
The existing reference to copy.
Initializes a new instance of the SerializableReference class from a JSON object.
public SerializableReference(System.Text.Json.Nodes.JsonObject? jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object to initialize the reference from.
Determines whether the specified reference is equal to the current serializable reference.
public bool Equals(DiGi.Core.Interfaces.IReference reference);reference IReference
The reference to compare with the current serializable reference.
System.Boolean
True if the specified reference is equal to the current serializable reference; otherwise, false.
Determines whether the specified object is equal to the current serializable reference.
public override bool Equals(object @object);object System.Object
The object to compare with the current serializable reference.
System.Boolean
True if the specified object is equal to the current serializable reference; otherwise, false.
Gets the hash code for the current type reference.
public override int GetHashCode();System.Int32
The hash code for the current type reference.
Compares two SerializableReference instances for equality.
public static bool operator ==(DiGi.Core.Classes.SerializableReference serializableReference_1, DiGi.Core.Classes.SerializableReference serializableReference_2);serializableReference_1 SerializableReference
The first serializable reference to compare.
serializableReference_2 SerializableReference
The second serializable reference to compare.
System.Boolean
True if the two serializable references are equal; otherwise, false.
Compares a SerializableReference instance and an ISerializableReference object for equality.
public static bool operator ==(DiGi.Core.Classes.SerializableReference serializableReference_1, DiGi.Core.Interfaces.ISerializableReference @object);serializableReference_1 SerializableReference
The serializable reference to compare.
object ISerializableReference
The serializable reference object to compare with the first instance.
System.Boolean
True if the serializable reference and the object are equal; otherwise, false.
Compares a SerializableReference instance and an object for equality.
public static bool operator ==(DiGi.Core.Classes.SerializableReference serializableReference_1, object @object);serializableReference_1 SerializableReference
The serializable reference to compare.
object System.Object
The object to compare with the serializable reference.
System.Boolean
True if the serializable reference and the object are equal; otherwise, false.
Compares an object and a SerializableReference instance for equality.
public static bool operator ==(object serializableReference_1, DiGi.Core.Classes.SerializableReference serializableReference_2);serializableReference_1 System.Object
The object to compare with the serializable reference.
serializableReference_2 SerializableReference
The serializable reference to compare with the object.
System.Boolean
True if the object and the serializable reference are equal; otherwise, false.
Compares two SerializableReference instances for inequality.
public static bool operator !=(DiGi.Core.Classes.SerializableReference serializableReference_1, DiGi.Core.Classes.SerializableReference serializableReference_2);serializableReference_1 SerializableReference
The first serializable reference to compare.
serializableReference_2 SerializableReference
The second serializable reference to compare.
System.Boolean
True if the two serializable references are not equal; otherwise, false.
Compares a SerializableReference instance and an ISerializableReference for inequality.
public static bool operator !=(DiGi.Core.Classes.SerializableReference serializableReference_1, DiGi.Core.Interfaces.ISerializableReference @object);serializableReference_1 SerializableReference
The serializable reference to compare.
object ISerializableReference
The object implementing ISerializableReference to compare with the serializable reference.
System.Boolean
True if the serializable reference and the object are not equal; otherwise, false.
Compares a SerializableReference instance and an object for inequality.
public static bool operator !=(DiGi.Core.Classes.SerializableReference serializableReference_1, object @object);serializableReference_1 SerializableReference
The serializable reference to compare.
object System.Object
The object to compare with the serializable reference.
System.Boolean
True if the serializable reference and the object are not equal; otherwise, false.
Compares an object and a SerializableReference instance for inequality.
public static bool operator !=(object serializableReference_1, DiGi.Core.Classes.SerializableReference serializableReference_2);serializableReference_1 System.Object
The object to compare.
serializableReference_2 SerializableReference
The serializable reference to compare with the object.
System.Boolean
True if the object and the serializable reference are not equal; otherwise, false.
Represents a result that can be serialized.
public abstract class SerializableResult : DiGi.Core.Classes.SerializableObject, DiGi.Core.Interfaces.ISerializableResult, DiGi.Core.Interfaces.IResult, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObjectInheritance System.Object → Object → SerializableObject → SerializableResult
Derived
↳ SerializableResult<T>
Implements ISerializableResult, IResult, IObject, ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<ISerializableObject>, ICloneableObject
Initializes a new instance of the SerializableResult class.
public SerializableResult();Initializes a new instance of the SerializableResult class from another serializable result.
public SerializableResult(DiGi.Core.Classes.SerializableResult? serializableResult);serializableResult SerializableResult
The serializable result to initialize from.
Initializes a new instance of the SerializableResult class from the specified JSON object.
public SerializableResult(System.Text.Json.Nodes.JsonObject? jsonObject);jsonObject System.Text.Json.Nodes.JsonObject
The JSON object to initialize from.
Represents a result that can be serialized.
public abstract class SerializableResult<T> : DiGi.Core.Classes.SerializableResult, DiGi.Core.Interfaces.ISerializableResult<T>, DiGi.Core.Interfaces.ISerializableResult, DiGi.Core.Interfaces.IResult, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject
where T : DiGi.Core.Interfaces.ISerializableObjectT
The type of the result.
Inheritance System.Object → Object → SerializableObject → SerializableResult → SerializableResult<T>
Implements DiGi.Core.Interfaces.ISerializableResult<T>, ISerializableResult, IResult, IObject, ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<ISerializableObject>, ICloneableObject
Initializes a new instance of the SerializableResult class.
public SerializableResult();Initializes a new instance of the SerializableResult class from a generic serializable result.
public SerializableResult(DiGi.Core.Classes.SerializableResult<T>? serializableResult);<a name='DiGi.Core.