Skip to content

DiGi.Core.Interfaces

github-actions[bot] edited this page Jul 15, 2026 · 2 revisions

DiGi.Core.Interfaces Namespace

Interfaces

IBackgroundTask Interface

Defines a contract for a task that runs in the background.

public interface IBackgroundTask : DiGi.Core.Interfaces.IObject

Derived
BackgroundTask
CancelableBackgroundTask
ReportableBackgroundTask<T>
ICancelableBackgroundTask
IReportableBackgroundTask
IReportableBackgroundTask<T>

Implements IObject

Properties

IBackgroundTask.BackgroundTaskStatus Property

Gets the current status of the background task.

DiGi.Core.Enums.BackgroundTaskStatus BackgroundTaskStatus { get; }

Property Value

BackgroundTaskStatus

IBackgroundTask.Exception Property

Gets the exception that occurred during execution, if any.

System.Exception? Exception { get; }

Property Value

System.Exception

IBackgroundTask.ExecutionTimeSpan Property

Gets the total time elapsed during execution.

System.TimeSpan ExecutionTimeSpan { get; }

Property Value

System.TimeSpan

IBackgroundTask.IsRunning Property

Gets a value indicating whether the task is currently running.

bool IsRunning { get; }

Property Value

System.Boolean

Methods

IBackgroundTask.Start() Method

Starts the execution of the background task.

void Start();

Events

IBackgroundTask.Started Event

Occurs when the background task has started executing.

event EventHandler? Started;

Event Type

System.EventHandler

IBackgroundTask.Starting Event

Occurs just before the background task starts executing.

event EventHandler? Starting;

Event Type

System.EventHandler

IBackgroundTask.Stopped Event

Occurs when the background task has stopped executing.

event EventHandler? Stopped;

Event Type

System.EventHandler

IBackgroundTask.Stopping Event

Occurs just before the background task stops executing.

event EventHandler? Stopping;

Event Type

System.EventHandler

ICancelableBackgroundTask Interface

Defines a contract for a background task that can be cancelled.

public interface ICancelableBackgroundTask : DiGi.Core.Interfaces.IBackgroundTask, DiGi.Core.Interfaces.IObject

Derived
CancelableBackgroundTask
ReportableBackgroundTask<T>
IReportableBackgroundTask
IReportableBackgroundTask<T>

Implements IBackgroundTask, IObject

Properties

ICancelableBackgroundTask.CancelableBackgroundTaskStatus Property

Gets the current cancellation status of the background task.

DiGi.Core.Enums.CancelableBackgroundTaskStatus CancelableBackgroundTaskStatus { get; }

Property Value

CancelableBackgroundTaskStatus

Methods

ICancelableBackgroundTask.StopAsync() Method

Asynchronously stops the background task.

System.Threading.Tasks.Task StopAsync();

Returns

System.Threading.Tasks.Task
A task that represents the asynchronous stop operation.

ICancellableWorker Interface

Defines a contract for a worker that can be cancelled.

public interface ICancellableWorker : DiGi.Core.Interfaces.IWorker

Implements IWorker

Properties

ICancellableWorker.CancellationPending Property

Gets a value indicating whether a cancellation is pending.

bool CancellationPending { get; }

Property Value

System.Boolean

Methods

ICancellableWorker.CancelAsync() Method

Initiates an asynchronous cancellation of the worker's operation.

void CancelAsync();

ICloneableObject Interface

Defines a contract for objects that can be cloned.

public interface ICloneableObject : DiGi.Core.Interfaces.IObject

Derived
Address
Coordinates
DateTimeCollection
DateTimeSeries
Factor
GuidModel
GuidObject
GuidResult
GuidResult<TUniqueObject>
SerializableModel
SerializableObject
SerializableObjectListCluster<TKey_1,TKey_2,TValue>
SerializableObjectValueCluster<TKey_1,TKey_2,TValue>
SerializableOptions
SerializableReference
SerializableResult
SerializableResult<T>
TypePropertyReference
TypeReference
UniqueExternalReference<TUniqueReference>
UniqueIdObject
UniqueObject
UniquePropertyReference<UUniquePropertyReference>
UniqueReference
UniqueResult
ICloneableObject<TCloneableObject>
ICoordinates
IGuidModel
IGuidObject
IGuidResult
IGuidResult<T>
IInstanceRelatedSerializableReference
ILocation
ISerializableModel
ISerializableObject
ISerializableOptions
ISerializableReference
ISerializableResult
ISerializableResult<T>
ITimeSeries
ITypeRelatedSerializableReference
IUniqueIdObject
IUniqueObject
IUniqueReference
IUniqueResult
IUniqueResult<T>

Implements IObject

ICloneableObject<TCloneableObject> Interface

Defines a generic contract for objects that can be cloned into a specific type.

public interface ICloneableObject<out TCloneableObject> : DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject
    where TCloneableObject : DiGi.Core.Interfaces.ICloneableObject<TCloneableObject>

Type parameters

TCloneableObject

The type of the clone.

Derived
Address
Coordinates
DateTimeCollection
DateTimeSeries
Factor
GuidModel
GuidObject
GuidResult
GuidResult<TUniqueObject>
SerializableModel
SerializableObject
SerializableObjectListCluster<TKey_1,TKey_2,TValue>
SerializableObjectValueCluster<TKey_1,TKey_2,TValue>
SerializableOptions
SerializableReference
SerializableResult
SerializableResult<T>
TypePropertyReference
TypeReference
UniqueExternalReference<TUniqueReference>
UniqueIdObject
UniqueObject
UniquePropertyReference<UUniquePropertyReference>
UniqueReference
UniqueResult
ICoordinates
IGuidModel
IGuidObject
IGuidResult
IGuidResult<T>
IInstanceRelatedSerializableReference
ILocation
ISerializableModel
ISerializableObject
ISerializableOptions
ISerializableReference
ISerializableResult
ISerializableResult<T>
ITimeSeries
ITypeRelatedSerializableReference
IUniqueIdObject
IUniqueObject
IUniqueReference
IUniqueResult
IUniqueResult<T>

Implements ICloneableObject, IObject

Methods

ICloneableObject<TCloneableObject>.Clone() Method

Creates a clone of the current object.

TCloneableObject? Clone();

Returns

TCloneableObject
A cloned instance of the object.

IComplexReference Interface

Defines a contract for a complex reference to an object.

public interface IComplexReference : DiGi.Core.Interfaces.IReference, DiGi.Core.Interfaces.IObject, System.IEquatable<DiGi.Core.Interfaces.IReference>

Implements IReference, IObject, System.IEquatable<IReference>

ICoordinates Interface

Defines a contract for an object that represents geographic coordinates.

public interface ICoordinates : DiGi.Core.Interfaces.ILocation, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject

Derived
Coordinates

Implements ILocation, ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<ISerializableObject>, ICloneableObject, IObject

Properties

ICoordinates.Latitude Property

Gets the latitude coordinate.

double Latitude { get; }

Property Value

System.Double

ICoordinates.Longitude Property

Gets the longitude coordinate.

double Longitude { get; }

Property Value

System.Double

IDescribableObject Interface

Defines a contract for an object that has a description.

public interface IDescribableObject : DiGi.Core.Interfaces.IObject

Implements IObject

Properties

IDescribableObject.Description Property

Gets the description of the object.

string? Description { get; }

Property Value

System.String

IDeterminateWorker Interface

Defines a contract for a worker with determinate progress.

public interface IDeterminateWorker : DiGi.Core.Interfaces.IWorker

Implements IWorker

Properties

IDeterminateWorker.Maximum Property

Gets or sets the maximum value for progress reporting.

double Maximum { get; set; }

Property Value

System.Double

Methods

IDeterminateWorker.Report(double) Method

Reports progress with a numeric value.

void Report(double value);

Parameters

value System.Double

The current progress value.

IDeterminateWorker.Report(double, string) Method

Reports progress with a numeric value and status text.

void Report(double value, string text);

Parameters

value System.Double

The current progress value.

text System.String

The status text to report.

IEvaluator Interface

Base interface for all evaluation components.

public interface IEvaluator

Derived
MultiUpdater<TValue>
IOneToManySolver<TInput,TOutput>
IOneToOneSolver<TInput,TOutput>
ISolver
IUpdater
IUpdater<TValue>
IValidator
IValidator<T>

IExternalReference Interface

Defines a contract for a reference to an external object.

public interface IExternalReference : DiGi.Core.Interfaces.IReference, DiGi.Core.Interfaces.IObject, System.IEquatable<DiGi.Core.Interfaces.IReference>

Derived
ExternalReference

Implements IReference, IObject, System.IEquatable<IReference>

IGuidModel Interface

Defines a contract for a model that is uniquely identified by a GUID.

public interface 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.IUniqueObject

Derived
GuidModel

Implements ISerializableModel, IModel, IObject, ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<ISerializableObject>, ICloneableObject, IGuidObject, IUniqueObject

IGuidObject Interface

Defines a contract for an object uniquely identified by a GUID.

public interface IGuidObject : DiGi.Core.Interfaces.IUniqueObject, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject

Derived
GuidModel
GuidObject
IGuidModel

Implements IUniqueObject, ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<ISerializableObject>, ICloneableObject, IObject

Properties

IGuidObject.Guid Property

Gets the GUID of the object.

System.Guid Guid { get; }

Property Value

System.Guid

Methods

IGuidObject.Duplicate(Nullable<Guid>) Method

Creates a duplicate of the object with the specified GUID.

DiGi.Core.Interfaces.IGuidObject? Duplicate(System.Nullable<System.Guid> guid=null);

Parameters

guid System.Nullable<System.Guid>

The GUID to use for the duplicated object. If null, a new GUID is generated.

Returns

IGuidObject
A duplicated IGuidObject.

IGuidResult Interface

Defines a contract for a result uniquely identified by a GUID.

public interface 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.IUniqueObject

Derived
GuidResult

Implements IUniqueResult, ISerializableResult, IResult, IObject, ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<ISerializableObject>, ICloneableObject, IUniqueObject

IGuidResult<T> Interface

Defines a generic contract for a GUID-identified result containing a value of type T.

public interface IGuidResult<T> : DiGi.Core.Interfaces.IUniqueResult<T>, 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 T : DiGi.Core.Interfaces.IUniqueObject

Type parameters

T

The type of the GUID result value.

Implements DiGi.Core.Interfaces.IUniqueResult<T>, IUniqueResult, ISerializableResult, IResult, IObject, ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<ISerializableObject>, ICloneableObject, IUniqueObject

IIndeterminateWorker Interface

Defines a contract for a worker with indeterminate progress.

public interface IIndeterminateWorker : DiGi.Core.Interfaces.IWorker

Implements IWorker

Methods

IIndeterminateWorker.Report(string) Method

Reports status text during the operation.

void Report(string text);

Parameters

text System.String

The status text to report.

IIndexedObjects Interface

Defines a contract for an object that contains a collection of indexed objects.

public interface IIndexedObjects : DiGi.Core.Interfaces.IObject, System.Collections.IEnumerable

Derived
IndexedObjects<T>
IIndexedObjects<T>

Implements IObject, System.Collections.IEnumerable

IIndexedObjects<T> Interface

Defines a generic contract for an object that contains a collection of indexed objects of type T.

public interface IIndexedObjects<T> : DiGi.Core.Interfaces.IIndexedObjects, DiGi.Core.Interfaces.IObject, System.Collections.IEnumerable, System.Collections.Generic.IEnumerable<T>

Type parameters

T

The type of the indexed objects.

Derived
IndexedObjects<T>

Implements IIndexedObjects, IObject, System.Collections.IEnumerable, System.Collections.Generic.IEnumerable<T>

IInstanceRelatedReference Interface

Defines a contract for a reference related to a specific object instance.

public interface IInstanceRelatedReference : DiGi.Core.Interfaces.IReference, DiGi.Core.Interfaces.IObject, System.IEquatable<DiGi.Core.Interfaces.IReference>

Derived
UniqueExternalReference<TUniqueReference>
UniquePropertyReference<UUniquePropertyReference>
UniqueReference
IInstanceRelatedSerializableReference
IUniqueReference

Implements IReference, IObject, System.IEquatable<IReference>

IInstanceRelatedSerializableReference Interface

Defines a contract for an instance-related reference that can be serialized.

public interface IInstanceRelatedSerializableReference : DiGi.Core.Interfaces.IInstanceRelatedReference, DiGi.Core.Interfaces.IReference, DiGi.Core.Interfaces.IObject, System.IEquatable<DiGi.Core.Interfaces.IReference>, DiGi.Core.Interfaces.ISerializableReference, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject

Derived
UniqueExternalReference<TUniqueReference>
UniquePropertyReference<UUniquePropertyReference>
UniqueReference
IUniqueReference

Implements IInstanceRelatedReference, IReference, IObject, System.IEquatable<IReference>, ISerializableReference, ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<ISerializableObject>, ICloneableObject

ILocation Interface

Defines a contract for an object that represents a location and is serializable.

public interface ILocation : DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject

Derived
Address
Coordinates
ICoordinates

Implements ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<ISerializableObject>, ICloneableObject, IObject

IModel Interface

Defines a contract for an object that represents a model.

public interface IModel : DiGi.Core.Interfaces.IObject

Derived
GuidModel
SerializableModel
IGuidModel
ISerializableModel

Implements IObject

INamedObject Interface

Defines a contract for objects that have a name.

public interface INamedObject : DiGi.Core.Interfaces.IObject

Implements IObject

Properties

INamedObject.Name Property

Gets the name of the object.

string? Name { get; }

Property Value

System.String

IObject Interface

Base interface for all objects in the system.

public interface IObject

Derived
Address
BackgroundTask
CancelableBackgroundTask
Cluster<TKey_1,TKey_2,TValue>
ConvertOptions
Coordinates
DateTimeCollection
DateTimeSeries
ExternalReference
Factor
GuidModel
GuidObject
GuidResult
GuidResult<TUniqueObject>
IndexedObjects<T>
ListClusterReference<TKey_1,TKey_2>
Object
ObjectPath<TObjectPath>
ProgressWrapper<T>
ReportableBackgroundTask<T>
SerializableModel
SerializableObject
SerializableObjectListCluster<TKey_1,TKey_2,TValue>
SerializableObjectValueCluster<TKey_1,TKey_2,TValue>
SerializableOptions
SerializableReference
SerializableResult
SerializableResult<T>
TypePropertyReference
TypeReference
UniqueExternalReference<TUniqueReference>
UniqueIdObject
UniqueObject
UniquePropertyReference<UUniquePropertyReference>
UniqueReference
UniqueResult
UniqueResult<T>
Value<TObject>
IBackgroundTask
ICancelableBackgroundTask
ICloneableObject
ICloneableObject<TCloneableObject>
IComplexReference
ICoordinates
IDescribableObject
IExternalReference
IGuidModel
IGuidObject
IGuidResult
IGuidResult<T>
IIndexedObjects
IIndexedObjects<T>
IInstanceRelatedReference
IInstanceRelatedSerializableReference
ILocation
IModel
INamedObject
IObjectPath
IObjectPath<T>
IOptions
IReference
IReportableBackgroundTask
IReportableBackgroundTask<T>
IResult
IResult<T>
ISerializableModel
ISerializableObject
ISerializableOptions
ISerializableReference
ISerializableResult
ISerializableResult<T>
ITimeSeries
ITypeRelatedReference
ITypeRelatedSerializableReference
IUniqueIdObject
IUniqueObject
IUniqueReference
IUniqueResult
IUniqueResult<T>
IValue
IValue<TValue>

IObjectPath Interface

Defines a contract for an object that represents a path to another object.

public interface IObjectPath : DiGi.Core.Interfaces.IObject

Derived
ObjectPath<TObjectPath>
IObjectPath<T>

Implements IObject

IObjectPath<T> Interface

Defines a generic contract for an object path of type T.

public interface IObjectPath<T> : DiGi.Core.Interfaces.IObjectPath, DiGi.Core.Interfaces.IObject
    where T : DiGi.Core.Interfaces.IObjectPath<T>

Type parameters

T

The type of the object path.

Derived
ObjectPath<TObjectPath>

Implements IObjectPath, IObject

IOneToManySolver<TInput,TOutput> Interface

Defines a contract for a solver that takes one input and produces multiple outputs.

public interface IOneToManySolver<TInput,TOutput> : DiGi.Core.Interfaces.ISolver, DiGi.Core.Interfaces.IEvaluator

Type parameters

TInput

The type of the input value.

TOutput

The type of the output values.

Implements ISolver, IEvaluator

Properties

IOneToManySolver<TInput,TOutput>.Input Property

Gets or sets the input value for the solver.

TInput? Input { set; }

Property Value

TInput

IOneToManySolver<TInput,TOutput>.Outputs Property

Gets the resulting list of output values from the solver.

System.Collections.Generic.List<TOutput>? Outputs { get; }

Property Value

System.Collections.Generic.List<TOutput>

IOneToOneSolver<TInput,TOutput> Interface

Defines a contract for a solver that takes one input and produces one output.

public interface IOneToOneSolver<TInput,TOutput> : DiGi.Core.Interfaces.ISolver, DiGi.Core.Interfaces.IEvaluator

Type parameters

TInput

The type of the input value.

TOutput

The type of the output value.

Implements ISolver, IEvaluator

Properties

IOneToOneSolver<TInput,TOutput>.Input Property

Gets or sets the input value for the solver.

TInput? Input { set; }

Property Value

TInput

IOneToOneSolver<TInput,TOutput>.Output Property

Gets the resulting output value from the solver.

TOutput? Output { get; }

Property Value

TOutput

IOptions Interface

Defines a contract for an object that provides configuration options.

public interface IOptions : DiGi.Core.Interfaces.IObject

Derived
ConvertOptions
SerializableOptions
ISerializableOptions

Implements IObject

IReference Interface

Defines a contract for an object that serves as a reference to another object.

public interface IReference : DiGi.Core.Interfaces.IObject, System.IEquatable<DiGi.Core.Interfaces.IReference>

Derived
ExternalReference
ListClusterReference<TKey_1,TKey_2>
SerializableReference
TypePropertyReference
TypeReference
UniqueExternalReference<TUniqueReference>
UniquePropertyReference<UUniquePropertyReference>
UniqueReference
IComplexReference
IExternalReference
IInstanceRelatedReference
IInstanceRelatedSerializableReference
ISerializableReference
ITypeRelatedReference
ITypeRelatedSerializableReference
IUniqueReference

Implements IObject, System.IEquatable<IReference>

IReportableBackgroundTask Interface

Defines a contract for a background task that can report progress.

public interface IReportableBackgroundTask : DiGi.Core.Interfaces.ICancelableBackgroundTask, DiGi.Core.Interfaces.IBackgroundTask, DiGi.Core.Interfaces.IObject

Derived
ReportableBackgroundTask<T>
IReportableBackgroundTask<T>

Implements ICancelableBackgroundTask, IBackgroundTask, IObject

IReportableBackgroundTask<T> Interface

Defines a generic contract for a background task that reports progress of type T.

public interface IReportableBackgroundTask<T> : DiGi.Core.Interfaces.IReportableBackgroundTask, DiGi.Core.Interfaces.ICancelableBackgroundTask, DiGi.Core.Interfaces.IBackgroundTask, DiGi.Core.Interfaces.IObject

Type parameters

T

The type of the progress data reported.

Derived
ReportableBackgroundTask<T>

Implements IReportableBackgroundTask, ICancelableBackgroundTask, IBackgroundTask, IObject

Events

IReportableBackgroundTask<T>.ProgressChanged Event

Occurs when the progress of the background task changes.

event EventHandler<T>? ProgressChanged;

Event Type

System.EventHandler<T>

IResult Interface

Defines a contract for an object that represents the result of an operation.

public interface IResult : DiGi.Core.Interfaces.IObject

Derived
GuidResult
GuidResult<TUniqueObject>
SerializableResult
SerializableResult<T>
UniqueResult
UniqueResult<T>
IGuidResult
IGuidResult<T>
IResult<T>
ISerializableResult
ISerializableResult<T>
IUniqueResult
IUniqueResult<T>

Implements IObject

IResult<T> Interface

Defines a generic contract for a result containing a value of type T.

public interface IResult<T> : DiGi.Core.Interfaces.IResult, DiGi.Core.Interfaces.IObject

Type parameters

T

The type of the result value.

Derived
UniqueResult<T>

Implements IResult, IObject

ISerializableModel Interface

Defines a contract for a model that can be serialized.

public interface 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

Derived
GuidModel
SerializableModel
IGuidModel

Implements IModel, IObject, ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<ISerializableObject>, ICloneableObject

ISerializableObject Interface

Defines the contract for objects that can be serialized to and from JSON.

public interface ISerializableObject : DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject

Derived
Address
Coordinates
DateTimeCollection
DateTimeSeries
Factor
GuidModel
GuidObject
GuidResult
GuidResult<TUniqueObject>
SerializableModel
SerializableObject
SerializableObjectListCluster<TKey_1,TKey_2,TValue>
SerializableObjectValueCluster<TKey_1,TKey_2,TValue>
SerializableOptions
SerializableReference
SerializableResult
SerializableResult<T>
TypePropertyReference
TypeReference
UniqueExternalReference<TUniqueReference>
UniqueIdObject
UniqueObject
UniquePropertyReference<UUniquePropertyReference>
UniqueReference
UniqueResult
ICoordinates
IGuidModel
IGuidObject
IGuidResult
IGuidResult<T>
IInstanceRelatedSerializableReference
ILocation
ISerializableModel
ISerializableOptions
ISerializableReference
ISerializableResult
ISerializableResult<T>
ITimeSeries
ITypeRelatedSerializableReference
IUniqueIdObject
IUniqueObject
IUniqueReference
IUniqueResult
IUniqueResult<T>

Implements DiGi.Core.Interfaces.ICloneableObject<ISerializableObject>, ICloneableObject, IObject

Methods

ISerializableObject.FromJsonObject(JsonObject) Method

Populates the object from a JsonObject.

bool FromJsonObject(System.Text.Json.Nodes.JsonObject? jsonObject);

Parameters

jsonObject System.Text.Json.Nodes.JsonObject

The JsonObject to read values from.

Returns

System.Boolean
True if the object was successfully populated, false otherwise.

ISerializableObject.ToJsonObject() Method

Serializes the object into a JsonObject.

System.Text.Json.Nodes.JsonObject? ToJsonObject();

Returns

System.Text.Json.Nodes.JsonObject
A JsonObject representation of the object, or null if serialization fails.

ISerializableOptions Interface

Defines a contract for options that are both serializable and behave as options.

public interface ISerializableOptions : DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.IOptions

Derived
SerializableOptions

Implements ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<ISerializableObject>, ICloneableObject, IObject, IOptions

ISerializableReference Interface

Defines a contract for a reference object that can be serialized.

public interface 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>

Derived
SerializableReference
TypePropertyReference
TypeReference
UniqueExternalReference<TUniqueReference>
UniquePropertyReference<UUniquePropertyReference>
UniqueReference
IInstanceRelatedSerializableReference
ITypeRelatedSerializableReference
IUniqueReference

Implements ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<ISerializableObject>, ICloneableObject, IObject, IReference, System.IEquatable<IReference>

ISerializableResult Interface

Defines a contract for a result object that can be serialized.

public interface 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

Derived
GuidResult
GuidResult<TUniqueObject>
SerializableResult
SerializableResult<T>
UniqueResult
IGuidResult
IGuidResult<T>
ISerializableResult<T>
IUniqueResult
IUniqueResult<T>

Implements IResult, IObject, ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<ISerializableObject>, ICloneableObject

ISerializableResult<T> Interface

Defines a generic contract for a serializable result containing a value of type T.

public interface 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.ISerializableObject

Type parameters

T

The type of the serializable result value.

Derived
SerializableResult<T>

Implements ISerializableResult, IResult, IObject, ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<ISerializableObject>, ICloneableObject

ISolver Interface

Defines a contract for an evaluator that solves a problem or calculates a result.

public interface ISolver : DiGi.Core.Interfaces.IEvaluator

Derived
IOneToManySolver<TInput,TOutput>
IOneToOneSolver<TInput,TOutput>

Implements IEvaluator

Methods

ISolver.Solve() Method

Executes the solving operation.

bool Solve();

Returns

System.Boolean
True if the solver successfully found a solution, false otherwise.

ITaggable Interface

Defines a contract for objects that can hold and manage metadata tag.

public interface ITaggable

Properties

ITaggable.Tag Property

Gets tag associated with this object.

DiGi.Core.Classes.Tag Tag { get; set; }

Property Value

Tag

ITimeSeries Interface

Defines a contract for an object that contains time-series data.

public interface ITimeSeries : DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject

Derived
DateTimeCollection
DateTimeSeries

Implements ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<ISerializableObject>, ICloneableObject, IObject

Methods

ITimeSeries.GetDateTimes() Method

Retrieves the date-time stamps associated with the time series.

System.DateTime[]? GetDateTimes();

Returns

System.DateTime[]
An array of DateTimes, or null if none exist.

ITypeRelatedReference Interface

Defines a contract for a reference related to a specific type.

public interface ITypeRelatedReference : DiGi.Core.Interfaces.IReference, DiGi.Core.Interfaces.IObject, System.IEquatable<DiGi.Core.Interfaces.IReference>

Derived
TypePropertyReference
TypeReference
ITypeRelatedSerializableReference

Implements IReference, IObject, System.IEquatable<IReference>

Properties

ITypeRelatedReference.FullTypeName Property

Gets the full name of the referenced type.

string? FullTypeName { get; }

Property Value

System.String

ITypeRelatedSerializableReference Interface

Defines a contract for a type-related reference that can be serialized.

public interface ITypeRelatedSerializableReference : DiGi.Core.Interfaces.ITypeRelatedReference, DiGi.Core.Interfaces.IReference, DiGi.Core.Interfaces.IObject, System.IEquatable<DiGi.Core.Interfaces.IReference>, DiGi.Core.Interfaces.ISerializableReference, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject

Derived
TypePropertyReference
TypeReference

Implements ITypeRelatedReference, IReference, IObject, System.IEquatable<IReference>, ISerializableReference, ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<ISerializableObject>, ICloneableObject

IUniqueIdObject Interface

Defines a contract for an object uniquely identified by an ID.

public interface IUniqueIdObject : DiGi.Core.Interfaces.IUniqueObject, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject

Derived
UniqueIdObject

Implements IUniqueObject, ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<ISerializableObject>, ICloneableObject, IObject

IUniqueObject Interface

Defines a contract for an object that has a unique identifier.

public interface IUniqueObject : DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.IObject

Derived
GuidModel
GuidObject
GuidResult
GuidResult<TUniqueObject>
UniqueIdObject
UniqueObject
UniqueResult
IGuidModel
IGuidObject
IGuidResult
IGuidResult<T>
IUniqueIdObject
IUniqueResult
IUniqueResult<T>

Implements ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<ISerializableObject>, ICloneableObject, IObject

Properties

IUniqueObject.UniqueId Property

Gets the unique identifier of the object.

string? UniqueId { get; }

Property Value

System.String

IUniqueReference Interface

Defines a contract for a unique reference to an object.

public interface IUniqueReference : DiGi.Core.Interfaces.IInstanceRelatedSerializableReference, DiGi.Core.Interfaces.IInstanceRelatedReference, DiGi.Core.Interfaces.IReference, DiGi.Core.Interfaces.IObject, System.IEquatable<DiGi.Core.Interfaces.IReference>, DiGi.Core.Interfaces.ISerializableReference, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject

Derived
UniqueExternalReference<TUniqueReference>
UniqueReference

Implements IInstanceRelatedSerializableReference, IInstanceRelatedReference, IReference, IObject, System.IEquatable<IReference>, ISerializableReference, ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<ISerializableObject>, ICloneableObject

Properties

IUniqueReference.TypeReference Property

Gets the type reference associated with this unique reference.

DiGi.Core.Classes.TypeReference? TypeReference { get; }

Property Value

TypeReference

IUniqueReference.UniqueId Property

Gets the unique identifier of the referenced object.

string? UniqueId { get; }

Property Value

System.String

IUniqueResult Interface

Defines a contract for a serializable result that is uniquely identified.

public interface 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

Derived
GuidResult
GuidResult<TUniqueObject>
UniqueResult
IGuidResult
IGuidResult<T>
IUniqueResult<T>

Implements ISerializableResult, IResult, IObject, ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<ISerializableObject>, ICloneableObject, IUniqueObject

IUniqueResult<T> Interface

Defines a generic contract for a uniquely identified result containing a value of type T.

public interface IUniqueResult<T> : 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 T : DiGi.Core.Interfaces.IUniqueObject

Type parameters

T

The type of the unique result value.

Derived
GuidResult<TUniqueObject>
IGuidResult<T>

Implements IUniqueResult, ISerializableResult, IResult, IObject, ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<ISerializableObject>, ICloneableObject, IUniqueObject

IUpdater Interface

Defines a contract for an evaluator that updates data.

public interface IUpdater : DiGi.Core.Interfaces.IEvaluator

Derived
MultiUpdater<TValue>
IUpdater<TValue>

Implements IEvaluator

Methods

IUpdater.Update() Method

Performs the update operation.

bool Update();

Returns

System.Boolean
True if the update was successful, false otherwise.

IUpdater<TValue> Interface

Defines a generic contract for an updater that handles values of type TValue.

public interface IUpdater<TValue> : DiGi.Core.Interfaces.IUpdater, DiGi.Core.Interfaces.IEvaluator

Type parameters

TValue

The type of value to be updated.

Derived
MultiUpdater<TValue>

Implements IUpdater, IEvaluator

Properties

IUpdater<TValue>.Value Property

Gets or sets the value to be used in the update operation.

TValue? Value { get; set; }

Property Value

TValue

IValidator Interface

Defines a contract for an evaluator that validates data.

public interface IValidator : DiGi.Core.Interfaces.IEvaluator

Derived
IValidator<T>

Implements IEvaluator

IValidator<T> Interface

Defines a generic contract for an evaluator that validates data of type T.

public interface IValidator<T> : DiGi.Core.Interfaces.IValidator, DiGi.Core.Interfaces.IEvaluator

Type parameters

T

The type of the data to validate.

Implements IValidator, IEvaluator

Methods

IValidator<T>.Validate(T) Method

Validates the provided input.

bool Validate(T t);

Parameters

t T

The input to validate.

Returns

System.Boolean
True if the input is valid, false otherwise.

IValue Interface

Defines a contract for an object that represents a value.

public interface IValue : DiGi.Core.Interfaces.IObject

Derived
Value<TObject>
IValue<TValue>

Implements IObject

IValue<TValue> Interface

Defines a generic contract for an object that represents a value of type TValue.

public interface IValue<TValue> : DiGi.Core.Interfaces.IValue, DiGi.Core.Interfaces.IObject

Type parameters

TValue

The type of the value.

Derived
Value<TObject>

Implements IValue, IObject

Properties

IValue<TValue>.Value Property

Gets the underlying value.

TValue? Value { get; }

Property Value

TValue

Methods

IValue<TValue>.GetValue<XValue>() Method

Retrieves the value cast to a specific type XValue.

XValue? GetValue<XValue>()
    where XValue : TValue;

Type parameters

XValue

The target type for casting.

Returns

XValue
The value cast to XValue, or null if not possible.

IWorker Interface

Defines a contract for a worker that performs an operation.

public interface IWorker

Derived
ICancellableWorker
IDeterminateWorker
IIndeterminateWorker

Properties

IWorker.IsBusy Property

Gets a value indicating whether the worker is currently busy.

bool IsBusy { get; }

Property Value

System.Boolean

Clone this wiki locally