2013-04-29 3 views
0
나는 문제에서 문자열 "RLIST"호출하는 데

:다른 함수에서 문자열을 어떻게 불러올 수 있습니까?

 public void main() 
    { 
     string rlist; 
     if (radioButton1.Checked) 
      textBox1.Enabled = false; 
     textBox1.ReadOnly = true; 
     rlist = "text"; 
    } 

 public void button1_Click(object sender, EventArgs e) 
    { 
     OpenFileDialog openFile = new OpenFileDialog(); 
     openFile.Filter = "WTF Files (*.wtf)|*.wtf"; 
     openFile.Title = "Please Pick your realmlist file:"; 
     if (openFile.ShowDialog() == DialogResult.Cancel) 
      return; 
     try 
     { 
      textBox5.Text = openFile.FileName; 
      string file = openFile.FileName; 
      TextWriter rlist_writer = new StreamWriter (openFile.FileName); 
      rlist_writer.WriteLine(rlist); 
      rlist_writer.Close(); 
     } 
     catch (Exception) 
     { 
      MessageBox.Show("Error opening file", "File Error", 
      MessageBoxButtons.OK, MessageBoxIcon.Exclamation); 
     } 
    } 

에 나는이 줄에 오류가 발생합니다 :

rlist_writer.WriteLine(rlist); 

는 것이 가능를 호출하는 것입니다 문자열을 한 함수에서 가져 와서 원래의 함수에서 가져온 것과 동일한 값으로 다른 함수로 보냅니 까?

답변

2

질문의 소리로

문자열은 주요 기능에 국한됩니다. 그래서 당신의 방법 이름과 윈폼의 지식 (다시 추정) 당신이 현재 당신이 할 수 임시 (로컬) 변수가 정리됩니다 없습니다 의미로 문자열 클래스 레벨

string rlist; 
public void main() 
{ 
rlist = "yay" 

public void button1_Click(object sender, EventArgs e) 
{ 
someText = rlist; 

을해야 에 의해 판단 가비지 컬렉션을 통해 당신은 방법을 떠날 때

당신이 또한

을 검토 할 수도 있습니다

편집 0

+0

좋습니다. 감사합니다. 나는 이것을 시험해보고 무슨 일이 일어나는지를 보자. 나는 이것을 문자 그대로 2 일 동안 알아 내려고 노력해왔다. – user2333783

+0

걱정하지 않으셔도됩니다. 귀하의 질문에 대한 정답이라고 생각하시면 선택한 답변으로 수락하십시오. – Sayse

0

변수를 클래스 범위로 정의한 다음 button_click 이벤트에서 해당 변수를 호출하면 main 메소드에서와 동일한 값을 유지합니다.

관련 문제