Action<int>anは基本的にanではないため、共変性 (または反変性ですか?) を介して直接キャストを行うことはできません。Action<object>後者は任意のオブジェクトを渡すことができますが、前者はanのみを渡すことができintます。
次のようにアクションをラップすることで、これを回避できます。
Action<int> aInt = ...;
Action<object> aObj = o => aInt((int)o);
これは、キャストが良い考えではない理由を再度示しています。aObj以外のものを渡すintと、キャスト例外が発生します。
逆に、理論上はanをanにキャストできます。ただし、実際には、これは値型ではなく参照型でのみ機能します。したがって、 では実行できますが、では実行できません。Action<object>Action<int>intstringint