Lokale Variable erreichen in c#

Gast #2574226
Lesenswert?

Ich habe folgende Struktur.

void funktion1()
{
   //Dinge tun
    try
    {
        //Dinge tun
        using (var sre = new blah(blahv))
        {
            //Dinge tun
            sre.function(g);
        }
    }
    catch (System.IO.IOException)
    {
        //Dinge tun
    }
}

private void neuefunktion(Typ irgendwas)
{
    g = irgendwas;
    sre.function(g);
}


sre ist bei neuefunktion "im aktuellen kontext nicht vorhanden". Wo 
finde ich sre von neuefunktion aus, wie greife ich von neuefunktion aus 
darauf zu?
#2574823
Lesenswert?

Rinaldo Kolb schrieb:
>         //Dinge tun
>         using (var sre = new blah(blahv))
>         {
>             //Dinge tun
>             sre.function(g);
>         }

Dort wird sre deklariert und initialisiert. Das bedeutet, dass sre NUR 
innerhalb der geschweiften Klammern unter "using" bekannt ist. Um sre 
überall bekannt zu machen, müsstest du es zumindest auf Klassenebene 
(also außerhalb deiner Funktionen) deklarieren.

btw.: Du solltest dir angewöhnen direkt von Anfang an aussagekräftige 
Variablennamen zu verwenden. "blah", "blahv" und "irgendwas" sind eher 
hinderlich, auch für uns, wenn wir dir helfen wollen ;-)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren