В настоящее время я пытаюсь установить поле, которое мне нужно в бизнес-логике, в данном случае это Lazy.
(да не свойство, необходимо установить поле)
Я получаю ошибку, что Lazy не может быть преобразован в Lazy
как видите:
Объект типа
«BusinessLogic.Lazy 1[System.Object]'
cannot be converted to type
'BusinessLogic.Lazy
1 [BusinessLogic.ArtikelBLL]
Я использую эту строку для получения динамического хранилища.
dynamic repository = Activator.CreateInstance(typeof(GenericRepository<>).MakeGenericType(typeArgs));
Затем я пытаюсь установить значение поля, но оно не получается:
fInfo.SetValue(obj, Lazy.From(() => repository.GetDataById(id)));
Я пытался решить это разными способами.
Каким-то образом я должен разыграть repository.GetDataById(id)
для сущности, которую он ищет, в данном случае это ArtikelBLL (которую я могу получить через pInfo.PropertyType
).
Но, делая (ArtikelBLL)repository.GetDataById(id)
, он не останется объектно-ориентированным.
Кто-нибудь может помочь мне с этим?