Die Klasse ExposedVariableBase
bildet eine in einem Schriftgut bekannte Schriftgut-Variable (SGPV) ab.
Abgeleitet von: ExposedVariableBase
Wenn eine Schriftgut-Variable aus einer Schlüsseltabelle bestückt wird, wird der Typ der Variablen aus der Tabellendefinition abgeleitet.
Andernfalls werden alle Variablen als ExposedVariable vom Typ String
behandelt.
<T> Value { get; set;}
Setzt oder liefert den Wert der Schriftgut-Variablen.
Der Typ des Werts ist standardmäßig String
, außer für Variablen, die Werte aus einer Schlüsseltabelle enthalten; für diese entspricht der Typ dem des Schlüsseltabellenfelds, aus dem sie bestückt werden.
var doktyp = sgut.ExposedVariables.DokTypK.Value; sgut.ExposedVariables.DokTypK.Value = //...;
public IEnumerable<T> AdditionalValues { get; }
Über die Eigenschaft AdditionalValues
können die zur Laufzeit hinzugefügten Werte einer Schriftgut-Variablen abgefragt werden.
Neben dem Indexer
für den Wert gibt es die Eigenschaft Count
für die Anzahl hinzugefügter Werte.
public <T> AdditionalValues[uint idx] { get; }
public int AdditionalValues.Count { get; }
Über die Methode Add
kann die Liste erweitert werden:
public void AdditionalValues.Add(<T> value)
var vari = sstk.ExposedVariables.AusgbEmpf[1]; if (vari != null) { var wert = string.Empty; if (vari.AdditionalValues.Count == 0) { vari.AdditionalValues.Add("???"); } foreach (var twert in vari.AdditionalValues) { wert += twert + ";"; } }
public void AdditionalValues.Remove(String value)
Über die Methode Remove
können einzelne Werte entfernt werden.
Abgeleitet von: ExposedVariable<T>
Wenn eine Schriftgut-Variable in dem Schriftgut-Typ als ReadonlyAtRuntime
definiert ist, wird sie durch diese Klasse dargestellt. Hier können die Eigenschaften Value
bzw. AdditionalValues
nicht verändert werden.
Falls eine Variable für einen Schriftguttyp zur Laufzeit generell änderbar ist, für ein bestimmtes Schriftgut jedoch nicht, wird eine Exception aufgeworfen, falls die schreibgeschützte Variable zur Laufzeit bestückt wird. Um dies schon beim Entwurf festzustellen, kann das betreffende Schriftgut explizit in die Basis-Assembly aufgenommen werden; in der Schriftgut-spezifischen Klasse von ExposedVariables wird der Schreibschutz berücksichtigt.
Falls es sich bei der Schriftgut-Variablen um eine Variable als implizite Liste oder mit Kopien handelt, so kann die Readonly-Eigenschaft nur für alle Instanzen der Variablen gemeinsam ermittelt werden. Für die Schriftgut-Variable wird nur dann eine Instanz der Klasse ExposedVariableReadonly<T> geliefert, wenn alle Instanzen dieser Variablen schreibgeschützt sind, andernfalls ExposedVariable<T>. Bei einer nicht zulässigen Bestückung einer solchen Variablen wird zur Laufzeit eine Condition aufgeworfen.