Reputation: 20798
My project references a COM DLL that has some types annotated with the attribute [TypeLibType(TypeLibTypeFlags.FHidden)]
. MSDN says, "The type should not be displayed to browsers." Is there a way to view these types through IntelliSense?
Upvotes: 0
Views: 2241
Reputation: 2754
First make sure you didn't check "Hide advanced members" in the VisualStudio options (TextEditor/C# branch), though I don't suppose you did that because the default is unchecked.
It may be possible to work around it by declaring the problematic interfaces yourself and leaving out that attribute. You should be able to generate a interop DLL and then look at it with reflector. It is almost always possible to write COM declarations in C# source code, but sometimes it gets tricky.
If you want to go that route there are some pitfalls, in particular reflector won't show you interface members in the correct order. To figure out the correct order use ildasm or the TLB viewer (both included with VisualStudio). Also note that you if you never call an interface method you can just declare a dummy to maintain order and don't need the full method signature, this can save a lot of work.
Upvotes: 1