2012-11-23 4 views
6

Trong mã không được quản lý, tôi có thể sử dụng LoadTypeLib() để có được con trỏ ITypeLib* và sử dụng con trỏ đó để nhìn vào typelib để tìm giao diện chứa nó.Làm cách nào để tải một typelib để phân tích cú pháp trong C#?

Có giao diện System.Runtime.InteropServices.ComTypes.ITypeLib trong C# nhưng tôi không thể tìm thấy tương đương với chức năng LoadTypeLib().

Làm cách nào để tải một typelib và nhận tham chiếu ITypeLib trong C#?

Trả lời

7

sao chép trực tiếp từ System.Design.NativeMethods, Reflector là hữu ích:

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

Vì vậy, câu trả lời sôi xuống "PInvoke LoadTypeLib()" phải không? – sharptooth

+0

Tất nhiên, đó là cách bạn gọi các hàm Windows gốc. –