2017-11-07 4 views
0

이 코드 블록과 오래된 프로그램이 :왜 C#에서 블록을 사용하여 Process.Start 메서드 (문자열, 문자열)를 사용할 수 없습니까?

private void openConfigToolStripMenuItem_Click(object sender, EventArgs e) 
{ 
    if (!File.Exists(Path.Combine(a, b))) { writeConf(); } 
    Process.Start("notepad.exe", Path.Combine(c, d)); 

} 

내가 using 블록 코드를 최적화하고 싶지만, 내가 Process.Start를 메서드 (String, String)를 선언 할 수 없습니다.

private void openConfigToolStripMenuItem_Click(object sender, EventArgs e) 
    { 
     if (!File.Exists(Path.Combine(a, b))) { writeConf(); } 

     using (Process proc = new Process()) 
     { 
      proc.Start("notepad.exe", Path.Combine(c, d)); //Problem 
     } 

    } 

내 프로그램의 문제는 무엇인가 :

나는이 시도?

+0

처럼 전화를해야? 컴파일러 오류가 발생합니까? – ObiEff

+0

예. 문제는 컴파일 오류입니다. – roll

+0

컴파일 오류가 발생하면 질문을 편집하고 질문에 오류 메시지를 포함시켜야합니다. –

답변

3

블록을 사용하여 내부에서 사용한 시작 방법은 정적입니다.

public static Process Start(string fileName, string arguments); 

당신은 문제가 정확히 예외가 발생되고 무엇

using (Process proc = new Process()) 
{ 
    proc.StartInfo.Arguments = Path.Combine(c, d); 
    proc.StartInfo.FileName = "notepad.exe"; 
    proc.Start(); 
} 
+0

고마워요! 그것은 작동합니다. – roll

관련 문제