Преобразование инструкции LINQ из запроса в синтаксис fluent c #

#c# #.net #linq

#c# #.net #linq

Вопрос:

Эй, я застрял в преобразовании простой инструкции Linq из синтаксиса запроса в синтаксис fluent на C #. Я думаю, что это возможно, но мне нужна подсказка.

 from property in target.GetType().GetProperties()
select new
{
   Name = property.Name,
   Value = property.GetValue(target, null)
};
  

Для..

 var props = target.GetType().GetProperties().Select(p=>p.Name.... )
  

Что мне нужно изменить после Select ?

Комментарии:

1. О чем именно вы спрашиваете?

2. .... это мой вопрос. Извините за нечистый вопрос. Моя правка исправляет это

Ответ №1:

 var props = target
    .GetType()
    .GetProperties()
    .Select(p => new { 
        Name = p.Name, 
        Value = p.GetValue(target, null)
});
  

Комментарии:

1. Идеально! Спасибо, как предлагает ReSharper, я просто меняю на: origin.GetType().GetProperties().Select(p => new {p.Name, Value = p.GetValue(origin, null)}); Name = p.Name в этом нет необходимости.

2. В данном случае в этом действительно нет необходимости, но это было и в другом синтаксисе. 🙂 Я подумал, что, возможно, у вас есть стиль кодирования, который требует этого, например, чтобы иметь согласованный вид со строкой ниже.

Ответ №2:

 var props = target.GetType()
                  .GetProperties()
                  .Select(p => new {
                      Name = p.Name,
                      Value = p.GetValue(target, null)
                  });
  

?