but not for C#.
This is not a true statement. Solidworks API reference contains many examples for C #. Each function is described in 3 languages. For example
In your case code looks like this:
object processSW = System.Activator.CreateInstance(System.Type.GetTypeFromProgID("SldWorks.Application"));
SldWorks swApp = (SldWorks)processSW;
IModelDoc2 swModel = swApp.IActiveDoc2;
And swApp variable contains IActiveDoc2, it just is null. (see pic)
And generally speaking, the VB and C # using the same NET library (Framework) and same API interfaces. Switch from one language to another should not cause difficulties.
Безымянный.png 14.3 KB