Mam wyrażenie lambda, które chciałbym przekazać i wykorzystać ponownie. Oto kod:C# Pass Lambda Expression as Method Parametr
public List<IJob> getJobs(/* i want to pass the lambda expr in here */) {
using (SqlConnection connection = new SqlConnection(getConnectionString())) {
connection.Open();
return connection.Query<FullTimeJob, Student, FullTimeJob>(sql,
(job, student) => {
job.Student = student;
job.StudentId = student.Id;
return job;
},
splitOn: "user_id",
param: parameters).ToList<IJob>();
}
Kluczem tutaj jest Chcę być w stanie przekazać wyrażenie lambda że używam tutaj do metody, która dzwoni ten kod, więc mogę go ponownie wykorzystać. Wyrażenie lambda jest drugim argumentem w mojej metodzie .Query. Zakładam, że chciałbym użyć Action lub Func, ale nie jestem do końca pewien, jaka jest składnia tego lub jak działa. Czy ktoś może podać mi przykład?
Dokonać parametr działania lub Func. –
Tak, tak właśnie myślałem ... czy możesz pokazać mi przykład tego, jak to zrobię? –
możliwy duplikat [wyrażeń C# lambda jako argumentów funkcji] (http: // stackoverflow.com/questions/5396746/c-sharp-lambda-expressions-as-function-arguments) – user