Beispiel #1
0
        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);
        }
Beispiel #2
0
 private MetadataItem MapItem(ParameterMetadataDto value)
 {
     return(new MetadataItem($"Parameter: {value.Name}", true));
 }
Beispiel #3
0
 private Relation GetRelation(ParameterMetadataDto value)
 {
     return(new Relation(value.Id, value.TypeMetadata.Id));
 }