It is clear that Mono Touch is part of the solution as it allows C# code to run on the IPhone,
however Mono Touch wraps the IPhone API so does not provide a common API.
It is possible to share code between your Monotouch iPhone application and Silverlight Windows Phone 7 application. Craig Dunn, an expert on Monotouch discusses this in his recent post - MonoTouch meets Windows Phone 7