Skip to content

DiGi.Core.IO.Table.Interfaces

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

DiGi.Core.IO.Table.Interfaces Namespace

Interfaces

IColumn Interface

Defines the contract for a column in a table.

public interface IColumn : DiGi.Core.IO.Table.Interfaces.ITableSerializableObject, DiGi.Core.IO.Table.Interfaces.ITableObject, DiGi.Core.IO.Interfaces.IIOObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.INamedObject

Derived
Column
ExtendedColumn
IExtendedColumn

Implements ITableSerializableObject, ITableObject, DiGi.Core.IO.Interfaces.IIOObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.INamedObject

Properties

IColumn.Index Property

Gets or sets the index of the column.

int Index { get; set; }

Property Value

System.Int32

IColumn.Type Property

Gets the data type of the column.

System.Type? Type { get; }

Property Value

System.Type

Methods

IColumn.TryGetValidValue(object, object, bool) Method

Tries to get a valid value for this column from the input object.

bool TryGetValidValue(object? @in, out object? @out, bool tryConvert=true);

Parameters

in System.Object

The input value to validate or convert.

out System.Object

The validated and potentially converted output value.

tryConvert System.Boolean

Whether to attempt conversion if the type doesn't match.

Returns

System.Boolean
True if a valid value was obtained, false otherwise.

IExtendedColumn Interface

Defines an extended column in a table with additional metadata such as category and description.

public interface IExtendedColumn : DiGi.Core.IO.Table.Interfaces.IColumn, DiGi.Core.IO.Table.Interfaces.ITableSerializableObject, DiGi.Core.IO.Table.Interfaces.ITableObject, DiGi.Core.IO.Interfaces.IIOObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.INamedObject, DiGi.Core.Interfaces.IDescribableObject

Derived
ExtendedColumn

Implements IColumn, ITableSerializableObject, ITableObject, DiGi.Core.IO.Interfaces.IIOObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject, DiGi.Core.Interfaces.INamedObject, DiGi.Core.Interfaces.IDescribableObject

Properties

IExtendedColumn.Category Property

Gets the category of the column.

string? Category { get; }

Property Value

System.String

IRow Interface

Defines the contract for a row in a table.

public interface IRow : DiGi.Core.IO.Table.Interfaces.ITableObject, DiGi.Core.IO.Interfaces.IIOObject, DiGi.Core.Interfaces.IObject

Derived
Row<TRow>
IRow<TRow>

Implements ITableObject, DiGi.Core.IO.Interfaces.IIOObject, DiGi.Core.Interfaces.IObject

Properties

IRow.Index Property

Gets the index of the row.

int Index { get; }

Property Value

System.Int32

IRow.Indexes Property

Gets the set of indexes associated with this row.

System.Collections.Generic.HashSet<int> Indexes { get; }

Property Value

System.Collections.Generic.HashSet<System.Int32>

IRow.this[int] Property

Gets or sets the value at the specified index.

object? this[int index] { get; set; }

Parameters

index System.Int32

The index of the value.

Property Value

System.Object

Methods

IRow.GetValues() Method

Gets all values in the row as an array.

object?[] GetValues();

Returns

System.Object[]
An array containing all values of the row.

IRow.RemoveValue(int) Method

Removes the value at the specified index.

bool RemoveValue(int index);

Parameters

index System.Int32

The index of the value to remove.

Returns

System.Boolean
True if the value was removed, false otherwise.

IRow.TryGetValue<T>(int, T) Method

Tries to get the value at the specified index as a specific type.

bool TryGetValue<T>(int index, out T? value);

Type parameters

T

The type of the value.

Parameters

index System.Int32

The index of the value.

value T

The retrieved value, or default if not found or wrong type.

Returns

System.Boolean
True if the value was successfully retrieved, false otherwise.

IRow<TRow> Interface

Defines a generic contract for a row that supports cloning.

public interface IRow<out TRow> : DiGi.Core.IO.Table.Interfaces.IRow, DiGi.Core.IO.Table.Interfaces.ITableObject, DiGi.Core.IO.Interfaces.IIOObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.ICloneableObject<TRow>, DiGi.Core.Interfaces.ICloneableObject
    where TRow : DiGi.Core.IO.Table.Interfaces.IRow<TRow>

Type parameters

TRow

Derived
Row<TRow>

Implements IRow, ITableObject, DiGi.Core.IO.Interfaces.IIOObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.ICloneableObject<TRow>, DiGi.Core.Interfaces.ICloneableObject

ITable Interface

Defines the contract for a table object.

public interface ITable : DiGi.Core.IO.Table.Interfaces.ITableObject, DiGi.Core.IO.Interfaces.IIOObject, DiGi.Core.Interfaces.IObject

Derived
Table<TColumn,TRow>
ITable<UColumn,URow>

Implements ITableObject, DiGi.Core.IO.Interfaces.IIOObject, DiGi.Core.Interfaces.IObject

ITable<UColumn,URow> Interface

Defines the contract for a table with specified column and row types.

public interface ITable<UColumn,URow> : DiGi.Core.IO.Table.Interfaces.ITable, DiGi.Core.IO.Table.Interfaces.ITableObject, DiGi.Core.IO.Interfaces.IIOObject, DiGi.Core.Interfaces.IObject, System.Collections.Generic.IEnumerable<URow>, System.Collections.IEnumerable
    where UColumn : DiGi.Core.IO.Table.Interfaces.IColumn
    where URow : DiGi.Core.IO.Table.Interfaces.IRow<URow>

Type parameters

UColumn

URow

Derived
Table<TColumn,TRow>

Implements ITable, ITableObject, DiGi.Core.IO.Interfaces.IIOObject, DiGi.Core.Interfaces.IObject, System.Collections.Generic.IEnumerable<URow>, System.Collections.IEnumerable

Properties

ITable<UColumn,URow>.Columns Property

Gets the columns of the table.

System.Collections.Generic.IEnumerable<UColumn> Columns { get; }

Property Value

System.Collections.Generic.IEnumerable<UColumn>

ITable<UColumn,URow>.Rows Property

Gets the rows of the table.

System.Collections.Generic.IEnumerable<URow> Rows { get; }

Property Value

System.Collections.Generic.IEnumerable<URow>

Methods

ITable<UColumn,URow>.AddColumn(UColumn) Method

Adds a column to the table.

UColumn? AddColumn(UColumn? column);

Parameters

column UColumn

The column to add.

Returns

UColumn
The added column, or null if it could not be added.

ITable<UColumn,URow>.AddRow(IEnumerable<object>) Method

Adds a row to the table using the specified values.

URow? AddRow(System.Collections.Generic.IEnumerable<object?>? values);

Parameters

values System.Collections.Generic.IEnumerable<System.Object>

The values for the new row.

Returns

URow
The added row, or null if it could not be added.

ITableObject Interface

Defines a base contract for table-related objects.

public interface ITableObject : DiGi.Core.IO.Interfaces.IIOObject, DiGi.Core.Interfaces.IObject

Derived
Column
ExtendedColumn
Row<TRow>
Table<TColumn,TRow>
IColumn
IExtendedColumn
IRow
IRow<TRow>
ITable
ITable<UColumn,URow>
ITableSerializableObject

Implements DiGi.Core.IO.Interfaces.IIOObject, DiGi.Core.Interfaces.IObject

ITableSerializableObject Interface

Defines a contract for table objects that can be serialized.

public interface ITableSerializableObject : DiGi.Core.IO.Table.Interfaces.ITableObject, DiGi.Core.IO.Interfaces.IIOObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject

Derived
Column
ExtendedColumn
IColumn
IExtendedColumn

Implements ITableObject, DiGi.Core.IO.Interfaces.IIOObject, DiGi.Core.Interfaces.IObject, DiGi.Core.Interfaces.ISerializableObject, DiGi.Core.Interfaces.ICloneableObject<DiGi.Core.Interfaces.ISerializableObject>, DiGi.Core.Interfaces.ICloneableObject

Clone this wiki locally