private IEnumerable <ParameterMetadataDto> EmitParameters(IEnumerable <ParameterInfo> parameters, AssemblyMetadataStorage metaStore) { List <ParameterMetadataDto> parametersMetadata = new List <ParameterMetadataDto>(); foreach (var parameter in parameters) { string id = $"{parameter.ParameterType.FullName}.{parameter.Name}"; if (metaStore.ParametersDictionary.ContainsKey(id)) { _logger.Trace("Using parameter already added to dictionary: Id =" + id); parametersMetadata.Add(metaStore.ParametersDictionary[id]); } else { ParameterMetadataDto newParameter = new ParameterMetadataDto(parameter.Name, LoadTypeMetadataDto(parameter.ParameterType, metaStore)); newParameter.Id = id; metaStore.ParametersDictionary.Add(id, newParameter); _logger.Trace("Adding parameter to dictionary: Id =" + id); parametersMetadata.Add(newParameter); } } return(parametersMetadata); }
private MetadataItem MapItem(ParameterMetadataDto value) { return(new MetadataItem($"Parameter: {value.Name}", true)); }
private Relation GetRelation(ParameterMetadataDto value) { return(new Relation(value.Id, value.TypeMetadata.Id)); }