public override IEnumerable<string> GetDynamicMemberNames() { if ( Modules == null ) { return base.GetDynamicMemberNames(); } return base.GetDynamicMemberNames() .Union( Modules.SelectMany( GetAllMemberNames ), StringComparer.OrdinalIgnoreCase ); }