Utwórz wyrażenie <Func <, >> używając odbicia

Używam Moq do tworzenia makiet zestawu danych.

Stworzyłem małą klasę pomocniczą, która pozwala mi na przechowywanie w pamięci zamiast bazy danych, która sprawia, że ​​testowanie jednostek staje się proste. W ten sposób mogę dodawać i usuwać elementy z mojego udawanego zestawu danych, co pozwala mi na testowanie wstawiania i usuwanie zgłoszeń serwisowych.

Podczas konfiguracji makiety mam linię, która wygląda jak poniżej

this.Setup(i => i.AcademicCycles).Returns(mockStore.GetList<AcademicCycle>());

Moja makieta ma wiele właściwości, więc chciałbym wykonać ten krok konfiguracji za pomocą odbicia. Udało mi sięReturns część procesu działającego poprzez refleksję, ale utknąłem na metodzie lambdaSetup.

Setup bierze

Expression<Func<GoalsModelUnitOfWork, IQueryable<AcademicCycle>>> co odpowiadai => i.AcademicCycles

i chciałbym to stworzyć dynamicznie. Korzystając z refleksji mam następujące:

Nazwa właściwości: „AcademicCycles”

TypIQueryable<AcademicCycle>

TypAcademicCycle

Mam także instancjęi w instrukcji lambda aGoalsModelUnitOfWork

questionAnswers(3)

yourAnswerToTheQuestion