AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Übersetzung in VB-Code

Ein Thema von hansklok · begonnen am 26. Nov 2014 · letzter Beitrag vom 8. Dez 2014
 
DbSam

Registriert seit: 27. Nov 2014
5 Beiträge
 
#5

AW: Übersetzung in VB-Code

  Alt 27. Nov 2014, 09:52
Guten Morgen Hans,

wie schon geschrieben, es gibt in VB.Net keine Arrays als Konstanten.

Es gibt sicher ein paar mögliche Lösungen für Dein Problem. Leider kenne ich den Hintergrund nicht ganz genau und kann daher nur eine funktionierende Lösung anbieten, welche mutmaßlich auf Deine Frage passen sollte.


Da .Net komplett objektorientiert aufgebaut ist, wäre eine mögliche Lösung die folgende - wenn ich Dein Anliegen richtig verstanden habe:
Zuerst eine kleine Miniklasse bauen, in etwa so:
Code:
Public Class GEDCOMDateApproximatedColl
    Inherits CollectionBase
    Public Enum eGEDCOMApproximated
        daExact
        daAbout
        daCalculated
        daEstimated
    End Enum

    Public Sub New()
        Me.Add("")
        Me.Add("ABT")
        Me.Add("CAL")
        Me.Add("EST")
    End Sub

    Private Sub Add(ByVal Item As String)
        Dim o As New GEDCOMApproximated
        o.Value = Item
        Me.InnerList.Add(o)
    End Sub

    Public Function GEDCOMDateApproximated(ByVal Item As eGEDCOMApproximated) As String
        Dim o As GEDCOMApproximated = CType(Me.InnerList(Item), GEDCOMApproximated)
        Return o.Value
    End Function

    Protected Class GEDCOMApproximated
        Public Property Value As String
    End Class
End Class
Sieht etwas aufwendig aus, geht sicher auch noch etwas kürzer.
Der Vorteil ist, dass alles in dieser Klasse gekapselt definiert und beliebig erweiterbar ist.

Deklaration und Aufruf funktioniert dann in etwa so:
Code:
    'Deklaration erfolgt an der Stelle wie und wo dies benötigt wird:
    Public DateApproximated As New GEDCOMDateApproximatedColl


    'Der Aufruf in etwa so:
    Private Sub Beispiel() Handles Button1.Click
        MessageBox.Show(Me.DateApproximated.GEDCOMDateApproximated(GEDCOMDateApproximatedColl.eGEDCOMApproximated.daAbout))
    End Sub
Mit der Hilfe von Intellisense muss man gar nicht so viel tippen wie es hier ausschaut...
Sicherlich kannst Du diesen Vorschlag noch verbessern, da Du ja das nötige Hintergrundwissen der von Dir benötigten Umsetzung besitzt.

Man könnte evtl. noch mit Generics, also einer 'List of T' arbeiten, muss dann aber auch wieder das Enum an anderer Stelle bauen. Deshalb habe ich das hier gleich alles gekapselt.


Gruß Carsten

PS:
Wobei man an den Namen noch etwas 'feilen' sollte...
Der Code sollte trotzdem nach menschlichem Ermessen lauffähig sein, wenn er denn richtig eingebaut wird.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:13 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz