2012-11-23 10 views
6

W kodzie niezarządzanym mogę użyć LoadTypeLib(), aby uzyskać wskaźnik ITypeLib* i użyć go, aby zajrzeć do typelib, aby znaleźć zawarte w nim interfejsy.Jak załadować typelib do parsowania go w C#?

Istnieje interfejs System.Runtime.InteropServices.ComTypes.ITypeLib w języku C#, ale nie mogę znaleźć odpowiednika funkcji LoadTypeLib().

Jak załadować typelib i uzyskać odniesienie ITypeLib w języku C#?

Odpowiedz

7

skopiowane prosto z System.Design.NativeMethods, Reflektor jest przydatna:

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

Więc odpowiedź sprowadza się do "pinvoke LoadTypeLib()", prawda? – sharptooth

+0

Oczywiście, w ten sposób wywołujesz rodzime funkcje systemu Windows. –

Powiązane problemy