Benutzer mit den meisten Antworten
Klasse instanzieren mit überladen New-Konstruktor

Frage
-
Guten Morgen zusammen,
Ich Habe eine Klasse erstellt mit einen zweifach Überladenen New-Konstructor :
Nun bekomme ich aber eine Fehlermedung das ich wenigstens eine Methode definieren muss in der ich keine Typeneinschränkung benutze:
Fehlertext :
Fehler 1 Fehler bei der Überladungsauflösung, da keine zugreifbare "New" ohne einschränkende Konvertierung aufgerufen werden kann:
"Public Sub New(Datei As String)": Der mit dem Argument übereinstimmende Parameter "Datei" wird von "Object" auf "String" reduziert.
"Public Sub New(RvDatensatzNr As Integer)": Der mit dem Argument übereinstimmende Parameter "RvDatensatzNr" wird von "Object" auf "Integer" reduziert.Ich dachte das ich mit den Prinzip von Klassen und Überladung einigermassen Vertraut bin aber dies ist Mir gänzlich Neu :
Wieso akzeptiert der Konstruktor den keine Typeneinschränkungen ? Und wie müsste ich denn dann vorgehen ?Dank für die Hilfe .
Public Sub New(ByVal RvDatensatzNr As Integer)
InitializeComponent()
_RvDatensatzNr = RvDatensatzNr
End Sub
Public Sub New(ByVal Datei As String)
' Dieser Aufruf ist für den Designer erforderlich.
InitializeComponent()
_DateiName = Datei
' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu.
End Sub
Antworten
-
Hi Daniel,
ich denke das wird an deinen Aufruf des New Konstruktors liegen, du wirst da wohl etwas vom Typ Objekt an den Konstruktor übergeben und nicht vom Typ Integer oder String.
MFG
Björn
- Als Antwort markiert Daniel, Montag, 10. September 2012 09:38
Alle Antworten
-
Hi Daniel,
ich denke das wird an deinen Aufruf des New Konstruktors liegen, du wirst da wohl etwas vom Typ Objekt an den Konstruktor übergeben und nicht vom Typ Integer oder String.
MFG
Björn
- Als Antwort markiert Daniel, Montag, 10. September 2012 09:38
-
Jep das war es ... Hab eine selectedValue Eigenschaft von einer Combobox übergeben. Der Value ist zwar Integer aber die Eigenschaft ist Object : CInt(checkbox.selectedValue) hat dann funktioniert.
Manchmal sieht man den Wald vor Bäumen nicht.
Danke schön
Daniel