public Key?Get(TypeInfo parameter) { var root = _root.Get(parameter); var type = _type.Get(parameter); var result = root.HasValue || type.HasValue ? new Key(root?.Name ?? type?.Name ?? parameter.Name, root?.Identifier ?? type?.Identifier) : default; return(result); }
public IEnumerable <KeyValuePair <TypeInfo, IIdentity> > Get(IEnumerable <TypeInfo> parameter) { foreach (var type in parameter.SelectMany(_types).Distinct()) { var key = _identity.Get(type); if (key != null) { var identifier = key.Value.Identifier.NullIfEmpty() ?? _formatter.Get(type); var name = key.Value.Name.NullIfEmpty() ?? type.Name; var identity = _store.Get(name, identifier); yield return(Pairs.Create(type, identity)); } } }
public Key?Get(TypeInfo parameter) => _root.Get(parameter) ?? _type.Get(parameter);