This is not an answer, but, based on **chuy's** solution, I want to show one of the advantages of the new **V10** `Inactive`:

 (x = Inner[Inactive[Times],
 {{1, 2}, {3, 4}}, {{5, 6}, {7, 8}},
 Inactive[Plus]]) // MatrixForm

![enter image description here][1]


 Activate[x, Times] // MatrixForm

![enter image description here][2]


 Activate[x] // MatrixForm

![enter image description here][3]


 [1]: https://i.sstatic.net/EchyB.jpg
 [2]: https://i.sstatic.net/TrjL7.jpg
 [3]: https://i.sstatic.net/AeGmM.jpg