Example #1
0
 /// <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)));
 }
Example #2
0
        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+", " "));
        }