Hi
I have not searched on web regarding source code with C#.
Have you done coding in VB?
If yes then I can explain you further
If No, then The sample which I have provided gives you the basic Idea how you can proceed.
There are two things that I have done
1) Initiate a MapInfo instance.
2) Pass the MapBasic command to MapInfo Instance.
Now keeping this in Mind you can write code. There is one more thing called SetCallBack. Regarding this you can search in MapBasic help, They have provided a sample code in VB6.0 which shows almost all the possibilities. SetCallBack is used to pass the values MapInfo and VB6.0 or C# and Vice Versa.
Thats all BASIC you need to know.
Now its up to you weather you do it as .DLL or as a class Module etc(All C# specific features)
Hope this helps