The only way I know is based on CLR: Mono with MonobjC which is a bridge to Objective-C and encapsulates Mac APIs like Cocoa, WebKit, etc.
I tried it with Mac OS X which worked very well, but it also provides a bridge to iOS.
I must warn you: it is not easy at all, need quite a good deal of general programming experience to master all that.
Now (sight…) am I supposed to provide all the links? There are too many. Let's start with main things:
http://en.wikipedia.org/wiki/Common_Language_Runtime[
^],
http://en.wikipedia.org/wiki/Mono_%28software%29[
^],
http://www.mono-project.com/Main_Page[
^];
http://en.wikipedia.org/wiki/Objective-C[
^],
http://developer.apple.com/documentation/Cocoa/Conceptual/ObjectiveC/[
^];
http://en.wikipedia.org/wiki/Monobjc[
^],
http://www.monobjc.net/[
^];
http://en.wikipedia.org/wiki/IOS[
^],
http://www.apple.com/ios/[
^];
http://en.wikipedia.org/wiki/Cocoa_%28API%29[
^],
http://developer.apple.com/technologies/mac/cocoa.html[
^].
This is only top-level references. You will need to master a big deal of each topic. You will need to browse programming documentation on each topic; moreover, there is no much documentation on MonobjC level; so you will need to find most of documentation in Apple programming guides and then find matching classes and members in MonobjC; this also requires good understanding of mechanisms.
Another problem is that you hardly debug it all on Windows. So, the approach will be developing and debugging the non-UI components on Windows. The MonobjC is not just a library; it is also a run-time system which you can run on Mac OS X or iOS. UI debugging requires MonoDevelop, see:
http://en.wikipedia.org/wiki/MonoDevelop[
^],
http://monodevelop.com/[
^].
With MonobjC, you can install special MonoDevelop plug-ins to allow visual development and UI debugging. I used it only on Mac OS X, not on Windows, so I'm not 100% sure it can be done. You cannot do it with Visual Studio. However, you can develop a UI project not using any "Designer"; this kind of project will be successfully compiled on Visual Studio and run on your iOS
without recompilation. You can do it if you are really careful. In certain situations, you will need to address incompatibilities between .NET and Mono.
I also want to add, that this kind of cross development more difficult than, say, Windows-Linux cross-platform development, perhaps by an order of magnitude. Compared to Linux, Apple is really hostile to non-Apple developers. :-)
Care to try? :-)
Good luck,
—SA