2017-11-07 10 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

関連する問題