|
|
||||||
|
#1
|
|
|
|
|
Guten Morgen
irgendwie kriege ich nicht hin ein ganz normale Konvertierung von Integer zu String in einem konstanten Ausdruck Mein Fall: Private Const intZahl As Integer = 700 .... Private Const strSatzart As String = _ "[PatientNummer] = %1" _ & " AND [Datum] = ?MessDatum. AND [intZahl] = " _ & intZahl & " And [Kurzinfo] Like '" .... Der Compiler meldet mir folgenden Fehler: Eine Konvertierung von "Integer" zu "String" kann in einem konstanten Ausdruck nicht durchgeführt werden. Ich habe schon mit .ToString, CType, Convert.ToString versucht, irgendwie klappt es bei mir die Konvertierung nicht. Was mache ich den Falsch? Gruß Waldemar Reidel |
|
|
|
#2
|
|
|
|
|
"Waldemar Reidel" <waldemar.reidel> schrieb
Guten Morgen irgendwie kriege ich nicht hin ein ganz normale Konvertierung von Integer zu String in einem konstanten Ausdruck Mein Fall: Private Const intZahl As Integer = 700 .... Private Const strSatzart As String = _ "[PatientNummer] = %1" _ & " AND [Datum] = ?MessDatum. AND [intZahl] = " _ & intZahl & " And [Kurzinfo] Like '" .... Der Compiler meldet mir folgenden Fehler: Eine Konvertierung von "Integer" zu "String" kann in einem konstanten Ausdruck nicht durchgeführt werden. Ich habe schon mit .ToString, CType, Convert.ToString versucht, irgendwie klappt es bei mir die Konvertierung nicht. Was mache ich den Falsch? ====== Bei der Deklaration von Konstanten ist "&" kein Operator, der zur Laufzeit ausgeführt wird, sondern er dient der Verknüfpung von einzelnen, konstanten Strings. Da die Umwandlung von Integer in String ein Vorgang ist, der erst zur Laufzeit ausgeführt werden kann, ist die Verknüpfung von String-Konstanten und Integer-Konstanten bei der Konstantendeklaration nicht möglich. Und noch als Tipp aus der Sprachspezifikation: "When a symbolic name for a constant value is desired, but the type of the value is not permitted in a constant declaration or when the value cannot be computed at compile time by a constant expression, a read-only variable may be used instead." Armin |
|
#3
|
|
|
|
|
Nachtrag:
http://msdn2.microsoft.com/en-US/lib...20(VS.71).aspx s. Begründung bei "Coercions to and from String are an exception to this rule..." Armin |
|
#4
|
|
|
|
|
Danke Armin
das habe ich nicht gewusst :-) in VB6 ging es, das weiß ich noch. Bin beim überlegen wie es ändern kann. Gruß Waldemar |
|
#5
|
|
|
|
|
Waldemar Reidel schrieb:
> das habe ich nicht gewusst :-) in VB6 ging es, das weiß ich noch. VB6 ließ Dich auch mit Zeichenfolgen rechnen. > Bin beim überlegen wie es ändern kann. Private Const intZahl As String = "700" .... Private Const strSatzart As String = _ "[PatientNummer] = %1" _ & " AND [Datum] = ?MessDatum. AND [intZahl] = " _ & intZahl & " And [Kurzinfo] Like '" Die Bezeichner habe ich extra so belassen, um zu zeigen, wie wertfrei und unflexibel Typpräfixe sind. Alternative: Private Const intZahl As Integer = 700 .... Private Shared ReadOnly strSatzart() As String Get Return "[PatientNummer] = %1" _ & " AND [Datum] = ?MessDatum. AND [intZahl] = " _ & intZahl.ToString & " And [Kurzinfo] Like '" End Get End Property Wobei letzteres alles andere, als ein konstanter Ausdruck ist. Thorsten Dörfler |
|
#6
|
|
|
|
|
"Waldemar Reidel" <waldemar.reidel> schrieb
> das habe ich nicht gewusst :-) in VB6 ging es, das weiß ich noch. Bin > beim überlegen wie es ändern kann. s. meine erste Antwort ("...a read-only variable may be used instead."") Armin |
|
#7
|
|
|
|
|
Thorsten Doerfler schrieb:
> Alternative: > > Private Const intZahl As Integer = 700 > ... > Man sollte sich natürlich schon auf etwas festlegen. Entweder richtiger (bezogen auf das fehlende 'Property'): Private ReadOnly Property strSatzart() As String > Get > Return "[PatientNummer] = %1" _ > & " AND [Datum] = ?MessDatum. AND [intZahl] = " _ > & intZahl.ToString & " And [Kurzinfo] Like '" > End Get > End Property Oder: Private ReadOnly strSatzart As String = "[PatientNummer] = %1" _ & " AND [Datum] = ?MessDatum. AND [intZahl] = " _ & intZahl.ToString & " And [Kurzinfo] Like '" Jetzt dürftest Du genug Alternativen haben. :-) Thorsten Dörfler |
|
#8
|
|
|
|
|
"Waldemar Reidel" <waldemar.reidel> schrieb:
>irgendwie kriege ich nicht hin ein ganz normale Konvertierung von >Integer zu String in einem konstanten Ausdruck Was spricht gegen 'Private ReadOnly ... As String = ...'? |
|
|
| Ähnliche Themen | |
| Worte wie "Schlampe", "Nutte", "Fotze", "Sack", "Eier" aus dem Kindergarten mitgebracht! x-no-archive: yes HILFE! Mein Sohn ist 5 Jahre alt und gestern kam er aus dem Kindergarten und nannte seine 3jährige Schwester eine "dumme Fotze" und eine "Nutte" und... |
|
| "lambda-Ausdruck" kann nicht in den Typ "string" konvertiert werden... Hallo NG, Nach dem Verschieben einer Klasse in eine Klassenbibliothek will sich diese nicht mehr kompilieren lassen, weil der Compiler mit meinem LINQ Ausdruck "nicht mehr"... |
|
| "Copy"-"Save"-"UnZoom" auf einem ContextMenü Hallo Zussammen, ich bin gerade dabei ein Labrary zu implementieren. Das Programm erzeugt bei der Ausführung (F5) 3 Kurven, die in einem anderen Fenster gezeichnen werden. In... |
|
| in einem String "\" duch "\\" ersetzen - replaceAll() wirft Exception Hallo, ich versuche mich gerade an einer Stringbearbeitung, komme aber nicht so recht weiter. was ich machen will: ich versuche in einem String Zeichen zu ersetzen bzw.... |
|
| Konvertierung TrueType für LaTeX: ttf-Datei nur für "medium" - "normal" vorhanden Hallo, ich habe soeben (erfolgreich) anhand der Anleitung von Damir Rakityansky (ftp://ftp.dante.de/tex-archive/info/german/MiKTeX-WinEdt-TrueType-Anleitung/ttf.htm) einen... |
|
|
Alle Zeitangaben in WEZ. Es ist jetzt 00:01 Uhr. | Privacy Policy
|