/// <summary> /// Build an expression for the metadata (for internal use). /// </summary> /// <param name="expressionEventTypeIdPublic">id pair</param> /// <returns>expression</returns> public CodegenExpression ToExpressionWPublicId(CodegenExpression expressionEventTypeIdPublic) { return NewInstance<EventTypeMetadata>( Constant(Name), Constant(ModuleName), EnumValue(typeof(EventTypeTypeClass), TypeClass.GetName()), EnumValue(typeof(EventTypeApplicationType), ApplicationType.GetName()), EnumValue(typeof(NameAccessModifier), AccessModifier.GetName()), EnumValue(typeof(EventTypeBusModifier), BusModifier.GetName()), Constant(IsPropertyAgnostic), NewInstance<EventTypeIdPair>( expressionEventTypeIdPublic, Constant(EventTypeIdPair.ProtectedId))); }