Class MemberRoles
Tells which members of a class module are there to implement a member of an interface it Implements, or to handle an event of one of its
WithEvents variables (MS-VBAL §5.3.1.8, §5.3.1.9).
public static class MemberRoles
- Inheritance
-
MemberRoles
- Inherited Members
Remarks
A member is one or the other by its name alone: InterfaceName_MemberName for the member of an interface that the module implements, and
VariableName_EventName for the event of a variable it declares WithEvents - the same rules ImplementsSemantics and
ClassModuleEventSemantics check the members by. A name that only begins like one, because the interface has no such member or the variable's class
has no such event, is the name of a member like any other. An interface or a class that does not resolve gives no member a role: a role is only stated when it is
known.
Methods
Of(VBClassModuleSymbol, ISymbolResolver)
The role of each member of module that has one.
public static IReadOnlyDictionary<SemanticId, DeclarationRole> Of(VBClassModuleSymbol module, ISymbolResolver resolver)
Parameters
moduleVBClassModuleSymbolThe class module, with its members.
resolverISymbolResolverWhat finds the interface classes and the classes of the
WithEventsvariables, as they are now.
Returns
- IReadOnlyDictionary<SemanticId, DeclarationRole>
The role of each procedure and property accessor that implements an interface member or handles an event; a member that has none is not among them.