为什么我不能在 C# 中的 using 块中使用 Process.Start 方法 (String,String)?
Why I cannot use the Process.Start Method (String,String) inside using block in C#?
我有一个包含此代码块的旧程序:
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 方法(字符串,字符串)。
我试过这个:
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
}
}
我的程序有什么问题?
您在 using 块中使用的启动方法是静态的。
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();
}
我有一个包含此代码块的旧程序:
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 方法(字符串,字符串)。
我试过这个:
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
}
}
我的程序有什么问题?
您在 using 块中使用的启动方法是静态的。
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();
}