Jac*_*per 2 c# system.diagnostics
虽然我可以这样做:
System.Diagnostics.Process.Start(@"C:\MyFolder\MyProgram.cmd");
Run Code Online (Sandbox Code Playgroud)
我不能这样做:
var process = new System.Diagnostics.Process();
process.Start(@"C:\MyFolder\MyProgram.cmd");
Run Code Online (Sandbox Code Playgroud)
错误:无法使用实例引用访问成员“System.Diagnostics.Process.Start(string)”;用类型名称来限定它。
这背后的原因是什么?谁能解释一下?
提前致谢!
所有参数化的重载Process.Start都是静态的。如果你想使用第二种语法,那么你必须首先设置实例状态,它只是以下的“文件名”属性StartInfo:
var proc = new Process();
proc.StartInfo.FileName = @"C:\MyFolder\MyProgram.cmd";
proc.Start();
Run Code Online (Sandbox Code Playgroud)
请注意,这应该等同于System.Diagnostics.Process.Start(@"C:\MyFolder\MyProgram.cmd");因为正如MSDN所说:“重载是创建新 Process 实例、设置 StartInfo 属性的 FileName 成员以及为 Process 实例调用 Start 的显式步骤的替代方法。”
| 归档时间: |
|
| 查看次数: |
3248 次 |
| 最近记录: |