Entwickler-Ecke

C# - Die Sprache - Newbie - Variable in Methodenaufruf einbinden


AltesGreenhorn - Fr 16.04.10 19:10
Titel: Newbie - Variable in Methodenaufruf einbinden
Hallo,

vielleicht ist die Überschrift nicht ganz richtig.

Es geht um Folgendes:

Ich habe eine Funktion public int getCBXregistry(String local_cbx)

Diese soll aus der Registry einen Wert auslesen. Etwa so (nur ohne Variable):

local_icbx = (Int32)Registry.GetValue(
@"HKEY_CURRENT_USER\Software\Firma\Progname",
"cbx3", 0);
(so funktioniert das auch)

Nun möchte ich aber den Wert "cbx3" (der cbx1, cbx2 ... cbxn sein kann) jeweils beim
Funktionsaufruf übergeben. Aber ich bekomme es nicht hin.

Meistens hagelt es Fehlermeldungen.

Ohne Fehlermeldung, aber auch ohne den gewünschten Wert, habe ich das verbrochen:

local_icbx2 = (Int32)Registry.GetValue(
@"HKEY_CURRENT_USER\Software\Firma\Progname",
"\"%local_cbx%\"", 0);


Kann mir vielleicht jemand weiterhelfen?

Besten Dank!


norman2306 - Fr 16.04.10 21:57

Am aller hilfreichsten sind immer die Fehlermeldung. Die sagen uns nämlich am Besten, was da schief läuft.

Also, erstmal was ich auf anhieb sehe: du übergibst der Funktion einen String. Dann weist du dem String einen Int zu. Das geht schon mal nicht. Wofür soll der String überhaupt sein?

Probiere es mal so:


C#-Quelltext
1:
2:
3:
4:
5:
6:
public int GetCBXregistry()
{
   return (int)Registry.GetValue(
       @"HKEY_CURRENT_USER\Software\Firma\Progname",
       "cbx3"0);
}


JüTho - Sa 17.04.10 11:25

Hallo und :welcome:

Ich habe es so verstanden, dass der Wert, nach dem gesucht wird, variabel sein soll. Probiere es mit Normans Vorschlag so:

C#-Quelltext
1:
2:
3:
4:
5:
6:
public int GetCBXregistry(string item)
{
   return (int)Registry.GetValue(
       @"HKEY_CURRENT_USER\Software\Firma\Progname",
       item, 0);
}

Gruß Jürgen

PS. Wenn ich es richtig verstanden habe, passen sowohl Überschrift als auch Unterforum hervorragend.