Похоже, при передаче в -i, что анализатор преобразует его в тип SwitchElement. Попробуйте, чтобы увидеть, работает ли он.
static void Set(TopshelfArguments args, IEnumerable<ICommandLineElement> commandLineElements)
{
var command = commandLineElements
.Take(1)
.Select(x => (ISwitchElement) x)
.Select(x => x.Key)
.DefaultIfEmpty("commandline")
.SingleOrDefault();
args.Command = command;
//leftovers
args.CommandArgs = commandLineElements.Skip(1).ToList();
}