У меня есть универсальный метод, как:Как иметь анонимный тип возврата в общий метод (например, выберите метод в LINQ)
IEnumerable<TResult> Select2<TSource, TResult>(Func<TSource, TResult> selector)
и вызов метода:
var r = Select2(p => new { FullName = p.FirstName + " " + p.LastName });
Как я могу установить TResult в моем вызове метода? В LINQ, когда и использовать от выбора метода вы можете увидеть тип TResult как « Update
Например, у меня есть свой собственный ORM и выбора метода сгенерировать T-Sql выберите query.with мой метод, который я хочу задать конкретный столбец и получить результат от моего specification.If я называю метод, как
var r=Select2<Person,?>(p=> new{Name=p.FirstName ,Family=p.LastName})
Я хочу, чтобы сгенерировать отборный с FirstName и LastName колонки и типа возвращаемого значения только имеет имя и семейная собственность
Пожалуйста, исправьте код, что означает '( selector), который должен означать синтаксис? –
Кроме того, просто попробуйте опустить параметры общего типа для вызова, посмотрите, будет ли компилятор выводить типы для вас. –
Короткий ответ: невозможно. Если вам нужно перейти в 'selector', почему бы не вызвать' selector' напрямую? – qxg