void Execute(SqlConnection sqlConnection, SqlTransaction transaction, List data);
но один обработчик принимает еще один параметр, и я пытаюсь найти лучший способ сделать это.
Моей лучшей идеей было просто создать еще один интерфейс и проверьте тип в основной функции, но это выглядит немного грязно
[code] public class Config { static Dictionary dictionary = new Dictionary() { { 0, new Handler() }, { 1, new Handler() }, { 2, new SecondHandler() } };
public static IHandler Get(int id) { return dictionary[id].handler; } }
class SecondHandler : Handler, IHandlerSecond { public void Execute(SqlConnection sqlConnection, IConnection connection, SqlTransaction transaction, List data) { base.Execute(sqlConnection, connection, transaction); ... } }
void Main(IConnect connect) { // Some code
var handler = Config.Get(num); if(handler is IHandlerSecond) { (handler as IHandlerSecond).Execute(connect, iconnection, transaction, data); } else if (handler is IHandler) { (handler as IHandler).Execute(connect, transaction, data); } } [/code] Так выглядит базовая подпись [code] void Execute(SqlConnection sqlConnection, SqlTransaction transaction, List data); [/code] но один обработчик принимает еще один параметр, и я пытаюсь найти лучший способ сделать это. Моей лучшей идеей было просто создать еще один интерфейс и проверьте тип в основной функции, но это выглядит немного грязно
У меня есть два интерфейса Java и один реализующий класс.
(Я использовал Eclipse для прямого запуска программы и не пытался проверять какие-либо предупреждения компилятора и т. д. так далее путем явной компиляции из командной строки.)
Я вызываю async_write из контекстного потока (поток цикла событий, связанный с контекстом повышения). Для корректной работы моего кода важно, чтобы обработчик завершения (с ошибками или без них) вызывался только после возврата async_write.
Согласно...
Я вызываю async_write из контекстного потока (поток цикла событий, связанный с контекстом повышения). Для корректной работы моего кода важно, чтобы обработчик завершения (с ошибками или без них) вызывался только после возврата async_write.
Согласно...
Я ищу способ реализовать следующее.
Я хочу иметь возможность регистрировать «ActionHandlers» как службы в моем DI-контейнере, для этой цели я создал следующие интерфейсы:
public interface IActionHandler {
Task HandleAsync(IAction action);
}
Я пытаюсь перехватить исключение, которое не может быть создано в соответствии с сигнатурой метода.
try {
final TypedQuery query = ...
return query.getSingleResult();
} catch (PessimisticLockException | LockTimeoutException ex) {
return null;
}...