问题
In unmanaged code I can use LoadTypeLib() to obtain an ITypeLib* pointer and use that to look into the typelib to find what interfaces it contains.
There is System.Runtime.InteropServices.ComTypes.ITypeLib interface in C# but I can't find an equivalent to LoadTypeLib() function.
How do I load a typelib and obtain an ITypeLib reference in C#?
回答1:
Copied straight from System.Design.NativeMethods, Reflector is useful:
[DllImport("oleaut32.dll", PreserveSig=false)]
public static extern ITypeLib LoadTypeLib([In, MarshalAs(UnmanagedType.LPWStr)] string typelib);
来源:https://stackoverflow.com/questions/13529798/how-do-i-load-a-typelib-to-parse-it-in-c