protected override MemberInfo Create(string parameter) { var parse = _parser.TryParse(parameter); if (parse.WasSuccessful) { var parts = parse.Value; var type = _parts.Get(parts.Type); var name = parts.MemberName; var result = type.GetMember(name).Only() ?? type.GetProperty(name) ?? type.GetField(name) ?? type.GetMethod(name) ?? (MemberInfo)type.GetEvent(name); return(result); } return(_types.Get(parameter)); }
protected override TypeInfo Create(string parameter) => _reflector.Get(_parser.Parse(parameter));