Я кодирую интернет-приложение MVC 5, и у меня есть вопрос относительно использования interface
с Lazy<T> initialization
.Невозможно неявно конвертировать Lazy <Class> в Lazy <Interface>
Вот определение класса в вопросе:
public class WebAPITokenService1_0 : IWebApiTokenService
Вот мой код, который работает с с использованием интерфейса в объявлении:
Декларация:
Lazy<WebAPITokenService1_0> webAPITokenService1_0;
Initialization:
webAPITokenService1_0 = new Lazy<WebAPITokenService1_0>();
Вот тот же самый код, но с использованием интерфейса:
Декларация:
Lazy<IWebApiTokenService> webAPITokenService1_0;
Initialization:
webAPITokenService1_0 = new Lazy<WebAPITokenService1_0>();
Здесь ошибка при использовании interface
в объявлении:
> Cannot implicitly convert type
> 'System.Lazy<CanFindLocation.Services.AndroidWebAPI._1_0.WebAPITokenService1_0>'
> to
> 'System.Lazy<CanFindLocation.Interfaces.WebService.IWebApiTokenService>' E:\CanFindLocation\MVC\CanFindLocation\CanFindLocation\Controllers\AndroidWebAPI\1_0\WebService1_0Controller.cs
Я взглянул на Lazy Initialization, но не может видеть никакой информации о вышеуказанной ситуации.
Могу ли я использовать interface
с Lazy<T> initialization
, и если да, то что не соответствует моему вышеуказанному коду?
'Lazy webAPITokenService1_0 = новый Lazy (() => новый WebAPITokenService1_0());' –
PetSerAl
Спасибо. Я согласен, что это ответ, если вы хотите опубликовать ответ. – user3736648