2012-11-23 14 views
6

Nel codice non gestito posso utilizzare LoadTypeLib() per ottenere un puntatore ITypeLib* e utilizzarlo per esaminare la libreria dei tipi per trovare le interfacce che contiene.Come caricare una libreria dei tipi per analizzarla in C#?

C'è l'interfaccia System.Runtime.InteropServices.ComTypes.ITypeLib in C# ma non riesco a trovare un equivalente alla funzione LoadTypeLib().

Come caricare una libreria dei tipi e ottenere un riferimento ITypeLib in C#?

risposta

7

Copiato direttamente dal System.Design.NativeMethods, riflettore è utile:

[DllImport("oleaut32.dll", PreserveSig=false)] 
public static extern ITypeLib LoadTypeLib([In, MarshalAs(UnmanagedType.LPWStr)] string typelib); 
+0

Quindi la risposta si riduce a "PInvoke LoadTypeLib()" non è vero? – sharptooth

+0

Ovviamente, è così che chiamate le funzioni native di Windows. –

Problemi correlati