out T (covariant) — более производный наружу; in T (contravariant) — более базовый на вход.
Разбор
- IEnumerable: string → object.
- Action наоборот.
- Классы сами по себе не ковариантны.
- Нужно для безопасного присваивания.
Итог
in/out фиксируют направление использования T.