I have absolutely no background on programming in C (or any other unmanaged languages for that matter) yet I would like to use the GetBestInterface function from the IP Helper API in my .NET application. I tried to understand how P/invoke calls can be used to make calls to native methods, but there are many things that just don't make sense to me (like how types in managed code map to unmanaged types).
Is there an alternative function somewhere hidden in the System.Net namespace that does roughly the same thing? Or could I write my own alternative using existing base classes combined with some magic? Because that's basically what it seems to me: magic. There is no real explanation for how the method accomplishes what it does as far as I can tell...
EDIT
I just discovered the LocalEndPoint property on the System.Net.Sockets.Socket
class which I think could be quite useful in this. To my understanding it will do the best-interface-picking on my behalf and I'll just need to get the NIC that corresponds to the local endpoint.