/// <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))); }
public override string ToString() { var owner = (!String.IsNullOrWhiteSpace(OwnerTypeAlias) ? $"[{OwnerTypeAlias}]" : String.Empty) + OwnerType?.FoundMatchingType; var accessModifier = AccessModifier != MethodAccessModifier.Unknown ? $"{AccessModifier.GetName()} " : String.Empty; var returnType = ReturnType?.FoundMatchingType?.ToString() ?? ReturnType?.Name; var methodName = (!String.IsNullOrWhiteSpace(MethodNameAlias) ? $"[{MethodNameAlias}]" : String.Empty) + MethodName; var genericArguments = GenericArguments.Any() ? $"<{string.Join(", ", GenericArguments.Select(a => a.FoundMatchingType?.ToString() ?? a.Name))}>" : null; var parameters = ParameterTypes.Select(p => { var str = $"{p.Name}"; if (!String.IsNullOrWhiteSpace(p.GenericName) && p.GenericName != p.Name) { str = $"[{p.GenericName}]{str}"; } return(p.IsOptional ? $"{str}?" : str); }).ToArray(); var parametersStr = parameters.Any() ? $"({string.Join(", ", parameters)})" : null; return(Regex.Replace($"{owner}:{MethodType.GetName()} {accessModifier} {returnType} {methodName}{genericArguments}{parametersStr}".Trim(), @"\s+", " ")); }