Få adgang til objekter fra andre funktioner

Tags:    c#

Her er et lille stykke kode, der opretter en StreamReader
og en TcpClient:
Fold kodeboks ind/udKode 

Nu er mit spørgsmål så.. Hvordan kan jeg få adgang til SR eller TC's
funktioner - f.eks. TC.Connect() - i button2_Click event-handleren?
Jeg synes nemlig, at det ville være meget praktisk hvis man kunne
oprette TcpClient'en i public Form1(), så den er klar så snart man
åbner programmet, og så senere bruge TC.Connect() i en button_Click event.

Og ja, jeg er godt klar over, at man bare kan oprette dem udenfor en funktion,
altså fx her:
Fold kodeboks ind/udKode 

Dette er dog ikke altid en god løsning, hvis TcpClient'en f.eks.
skal bruge en eller flere parametre fra brugeren. Men så kunne man
jo selvfølgelig bare gøre sådan (udenfor en funktion, eventhandler etc.):

Fold kodeboks ind/udKode 


og så skrive følgende inde i button1_Click:

Fold kodeboks ind/udKode 


Men, men, men. Hvis man så skal bruge fx en StreamWriter, til at sende kommandoer
til serveren med, så har man et problem. StreamWriteren SKAL oprettes inde i
button1_Click, og så kan man ikke få adgang til den fra andre
button_Click events (eller andre funktioner for den sags skyld).

Hvordan gør man lige det?



2 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
Dine variabler SR og TC skal oprettes uden for button1_Click scope for at de kan tilgås fra andre metoder.



P.S. Jeg kommer på igen ved 19-tiden og læser kommentarer.



t