我很好奇是否有任何方法可以缩短这段代码,或者使其在一行/语句中,
var terraformProcess = new Process();
terraformProcess.StartInfo.FileName = "terraform";
terraformProcess.StartInfo.UseShellExecute = false;
terraformProcess.StartInfo.WorkingDirectory = Path.Combine(repoPath,"terraform");
Console.WriteLine(terraformProcess.StartInfo.WorkingDirectory);
terraformProcess.StartInfo.RedirectStandardOutput = true;
terraformProcess.StartInfo.Arguments = "init";
terraformProcess.Start();
terraformProcess.WaitForExit();
terraformProcess.StartInfo.Arguments =
$"destroy --var-file=current.tfvars -auto-approve -var vcd_user={_terraformConf.vdcUsername} -var vcd_pass={CryptoServices.Decode(_terraformConf.encryptedVdcPass)} -no-color";
terraformProcess.Start();
var output = terraformProcess.StandardOutput.ReadToEnd();
terraformProcess.WaitForExit();
我试过了:
var startInfo = new StartInfo {
FileName = "terraform",
WorkingDirectory = Path.Combine(repoPath,"terraform");
RedirectStandardOutput = true;
Arguments = "init";
};
然后将其分配给Process.StartInfo,但看起来Process.StartInfo上只有getter.
我只是好奇是否有一种更短的方法来做到这一点,而不是重复这么多行.