There are other option for this design,but since we dont know the internals of what you are trying to do my answer will be based only with the presented code. You can rewrite your GetSaver method like this:
public static ItemComponentSaver<T> GetSaver<T>() where T : ItemComponent
{
if (typeof(T) == typeof(Cell))
return new CellSaver() as ItemComponentSaver<T>;
else if (typeof(T) == typeof(Row))
return new RowSaver() as ItemComponentSaver<T>;
else
return null;//here you can return what u need in case no types match.
}
Calling like so...
ItemComponentSaver<Row> saver = ItemComponentSaverFactory.GetSaver<Row>();