Hallo Leute,
ich arbeite gerade an einem großem Projekt für die Firma. Auch wenn dieser noch am Anfang steht, ist es abzusehen das eine Bestimmte Funktion immer wieder benötigt wird.
In einem String müssen an verschiedenen Stellen mehrere Datensätze durch einen bestimmten Zeichen getrennt, eingefügt werden.
Dafür habe ich folgende Funktion geschrieben:
Public Function FormatWithLines(TextPattern As String, LinePattern() As String, _
params()()() As Object, Optional lineSeparator As String = vbCrLf) As String
Dim lines As New List(Of String)
For a As Integer = 0 To LinePattern.Length - 1
Dim tmpLines As New List(Of String)
Dim Pattern As String = LinePattern(a)
For i As Integer = 0 To params(a).Length - 1
tmpLines.Add(String.Format(Pattern, params(a)(i)))
Next
lines.Add(String.Join(lineSeparator, tmpLines))
Next
Return String.Format(TextPattern, lines.ToArray())
End Function In den meisten Fällen(z.B. Export Funktionen, Erstellung der Rechnungen usw.) müssten dann die Daten so wie so erst mal gesammelt werden und der Aufruf sieht dann wahrscheinlich nicht so schlimm aus.
Nun arbeite ich gerade an einer Datenbank-Schnittstelle, die Unterschiedliche Datenbanken unterstützen soll und aber außer SELECT, UPDATE und so weiter auch CREATE TABLE, CREATE INDEX und co. unterstützen soll. Unter anderen auch MS SQL und z.B. Interbase. Die Beiden haben aber teilweise unterschiedliches Syntax für die Änderungen an der Struktur, dementsprechend müssen die SQLs nach verschiedenen Schemas aufgebaut sein.
Meine Idee war es diese Funktion dafür zu verwenden.
Der Aufruf ist dann aber ziemlich unleserlich
z.B.:
FormatWithLines("Test1 {0} {1}", {"{0}{1}", "{0}-{1}-{2}"}, {New Object()() _
{New Object() {"t", 1}, New Object() {"t", 2}}, New Object()() {New Object() _
{1, 2, 3}}}, ",") ' Ergibt: "Test1 t1,t2 1-2-3" Meine Frage:
Gibt es dafür fertige Lösungen? Oder hat jemand eine Idee, wie es einfacher(leserlicher) gehen kann?
Mit freundlichen Grüßen
akop303
___________________________________________________________________________________________
Jeder, der behauptet das gesamte .NET-Framework zu kennen ist entweder verrückt oder Sheldon Cooper |