Inhaltsverzeichnis

Array

Achtung - diese Seite ist in noch Bearbeitung und beschreibt eine Funktionalität der noch geändert werden kann!

public sealed class Array<TElement>
	where TElement : DataElement, new();

Wenn Arrays abgebildet werden müssen, kann die generische Klasse Array verwendet werden. Als TElement musse eine von DataElement abgeleitete Klasse angegeben werden.

Eigenschaften/Methoden

Formatangaben

Es gibt keine Formatangeben für Array, nur die Anzahl Einträge in dem Array müssen angegeben werden.

Diese können bei der Instanziierung angegeben werden:

private Array<LTableAbrZeitRowGroup> LTableAbrZeitRow  { get; } = new Array<LTableAbrZeitRowGroup>(100);

Wenn das Array in einer Gruppe verwendet wird, muss für die Anzahl Einträge das .NET Attribut ArrayFormatAttribute verwendet werden:

private sealed class LPraeTypTabGroup : DataGroup
{
	[ArrayFormat(7)]
	public Array<LPraeTypRowGroup> LPraeTypRow => GetMember<Array<LPraeTypRowGroup>>();
}

Methoden

Eigenschaften

Hilfsklassen

COBOL kennt die Besonderheit, das Indices welche bei einem Gruppenstufe definiert sind, auch bei den untergeordnete Datendefinitionen verwendet werden dürfen. Damit dies in C# auch möglich wird, stehen hierfür entsprechende Hilfsklassen zur Verfügung.

Array<TElement, TGroup>

public sealed class Array<TElement, TGroup>
	where TElement : DataElement, new()
	where TGroup : DataGroup, new()

Diese Klasse ist gedacht für Member einer 1-Dimensionaler Gruppe. Als TElement muss die von DatenElement abgeleitete Klasse für das Member angegeben werden. AlsTGroup muss die von DataGroup abgeleitete Klasse für das Array angegeben werden.

Bei der Instanziierung werden neben den Verweis auf den Array-Instanz von TGroup auch 2 Delegates erwartet, um das jeweilige Member abzufragen bzw. zu bestücken:

public Array(Array<TGroup> group, System.Func<TGroup, TElement> itemGetter, System.Action<TGroup, TElement> itemSetter = null);

Diese Klassen kennt ein Indexer mit 1 Argument um das jeweilige Datenelement abzufragen bzw. zu bestücken.

public TElement this[int index] { get; set; }

Array<TElement, TGroup1, TGoup2>

public sealed class Array<TElement, TGroup1, TGroup2>
	where TElement : DataElement, new()
	where TGroup1 : DataGroup, new()
	where TGroup2 : DataGroup, new()

Diese Klasse ist gedacht für Member einer 2-Dimensionaler Gruppen. Als TElement muss die von DatenElement abgeleitete Klasse angegeben werden. AlsTGroup1 bzw. TGroup2 muss die von DataGroup abgeleitete Klasse für die beiden Arrays angegeben werden.

Bei der Instanziierung werden neben den Verweis auf den Array-Instanz von TGroup1 auch 3 Delegates erwartet, um von TGroup1 die Array-Instanz von TGroup2 abzufragen, und um das jeweilige Member an TGroup2 abzufragen bzw. zu bestücken:

public Array(Array<TGroup1> group, System.Func<TGroup1, Array<TGroup2>> groupGetter, System.Func<TGroup2, TElement> itemGetter, System.Action<TGroup2, TElement> itemSetter = null)

Diese Klassen kennt ein Indexer mit 2 Argumente um das jeweilige Datenelement abzufragen bzw. zu bestücken.

public TElement this[int index1, int index2] { get; set; }