Я не рекомендую делать это, но есть способ:
void Absorb(Action action)
{
try { action(); } catch { };
}
// ....
Absorb(() => ExternalDevice.Call1());
Absorb(() => ExternalDevice.Call2());
Absorb(() => ExternalDevice.Call3());
Обратите внимание, что обычно вы можете использовать группы методов для достижения более простого синтаксиса:
Absorb(ExternalDevice.Call1);
Absorb(ExternalDevice.Call2);
Absorb(ExternalDevice.Call3);
Чтобы сделать его еще короче,
void Absorb(params Action[] actions)
{
foreach (var action in actions) try { action(); } catch { };
}
So you can
Absorb(ExternalDevice.Call1, ExternalDevice.Call2, ExternalDevice.Call3);