This project is read-only.
1
Vote

Inherited members are missing

description

I am using the latest Sancastle (2.6.1062.1) and SCFB (1.9.3.0). I apologize in advance if this is a SCFB issue, I am not 100% clear on which components are responsible for this functionality.
 
We have a library implemented in C++/CLI, which mostly exposes its API via interfaces. The generated docs for each interface only seem to contain the members for that interface, plus the interface it is immediately derived from, but no interfaces that the derived interface itself derives from. For example:
 
public interface class A
{
void FooA();
};
 
public interface class B : public A
{
void FooB();
}
 
public interface class C : public B
{
void FooC();
}
 
The generated docs for C contains FooC and FooB, but not FooA. Is this expected behaviour?
 
Thank you.

comments

EWoodruff wrote Aug 3, 2011 at 6:35 PM

This appears to be caused by a difference in the way the C++ compiler generates the metadata for the interfaces. If you look at the equivalent C# code and the C++ code for the interface definitions with Reflector you will see that the C++ code for interface C doesn't report the A interface as a base type where as the C# code for interface C does. Drilling down into the base types does show the expected hierarchy though. It's not possible to workaround this issue in SHFB. It would most likely require modifying MRefBuilder in some way to compensate for this if that's at all possible.

wrote Feb 22, 2013 at 1:39 AM