Error on passing parameter array to Invoke VBA with different types

Update: The solution I proposed, to append to List of objects, is required.

The alternative was to amend the VBA script to accept a list of strings, then convert one to integer, but that risks failure on data types inside the VBA on attempt to convert and I want to avoid that.

If anyone has a more elegant solution I’d be grateful.

I suspect that moving to newer version of .Net means that things have become more strict, so can’t assign to an array of objects where object types are different.

BUT isn’t that the whole point of using objects, that .Net doesn’t care what the object is and should therefore NOT be inferring the object types in the array { } string as the error message implies?

Would this impact AddDataRow using the ArrayRow property?