/// <summary>
 /// ファイルパスを指定してコマンドを生成します。
 /// </summary>
 /// <param name="id">ID</param>
 /// <param name="name">名称</param>
 /// <param name="filePath">ファイルパス</param>
 /// <param name="arguments">起動時引数</param>
 /// <param name="workingDirectory">作業ディレクトリ</param>
 /// <param name="environmentVariable">環境変数</param>
 /// <param name="encoding">エンコーディング</param>
 /// <returns>コマンド</returns>
 public static IProcessCommand FromFile(ProcessCommandID id, string name, string filePath, string arguments = null, string workingDirectory = null, IDictionary <string, string> environmentVariable = null, Encoding encoding = null)
 {
     return(new FileCommand(id, name, filePath, arguments, workingDirectory, environmentVariable, encoding));
 }
 /// <summary>
 /// プロセス開始情報を指定してコマンドを生成します。
 /// </summary>
 /// <param name="id">ID</param>
 /// <param name="name">名称</param>
 /// <param name="startInfo">プロセス開始情報</param>
 /// <returns>コマンド</returns>
 public static IProcessCommand FromStartInfo(ProcessCommandID id, string name, ProcessStartInfo startInfo)
 {
     return(new ProcessStartCommand(id, name, startInfo));
 }
 /// <summary>
 /// コマンドライン文字列を指定してコマンドを生成します。
 /// </summary>
 /// <param name="id">ID</param>
 /// <param name="name">名称</param>
 /// <param name="commandLine">コマンドライン文字列</param>
 /// <param name="workingDirectory">作業ディレクトリ</param>
 /// <param name="environmentVariable">環境変数</param>
 /// <param name="encoding">エンコーディング</param>
 /// <returns>コマンド</returns>
 public static IProcessCommand FromCommandLine(ProcessCommandID id, string name, string commandLine, string workingDirectory = null, IDictionary <string, string> environmentVariable = null, Encoding encoding = null)
 {
     return(new CommandLineCommand(id, name, commandLine, workingDirectory, environmentVariable, encoding));
 }