//JAVA TO C# CONVERTER WARNING: 'final' parameters are not available in .NET: //ORIGINAL LINE: protected ThreadControl executeControllableCommand(final ControllableCommand<?> command) protected internal virtual ThreadControl executeControllableCommand <T1>(ControllableCommand <T1> command) { //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final Thread controlThread = Thread.currentThread(); Thread controlThread = Thread.CurrentThread; Thread thread = new Thread(() => { try { processEngineConfiguration.CommandExecutorTxRequiresNew.execute(command); } catch (Exception e) { command.monitor.Exception = e; controlThread.Interrupt(); throw e; } }); controllableCommands.Add(command); command.monitor.executingThread = thread; thread.Start(); return(command.monitor); }
protected internal virtual ThreadControl ExecuteControllableCommand <T>(ControllableCommand <T> command) { var controlThread = Thread.CurrentThread; var thread = new Thread(() => { try { processEngineConfiguration.CommandExecutorTxRequired.Execute(command); } catch (System.Exception e) { command.Monitor.Exception = e; controlThread.Interrupt(); throw e; } }); // Todo: 泛型参数到object的转型 _controllableCommands.Add(command as ControllableCommand <object>); command.Monitor.executingThread = thread; thread.Start(); return(command.Monitor); }