title: Cannot implicitly convert Lazy<Class> to Lazy<Interface>
body: <p>I am coding a MVC 5 internet application and I have a question in regards to using an <code>interface</code> with <code>Lazy&lt;T&gt; initialization</code>.</p>
  
  <p>Here is the class definition in question:</p>
  
  <pre><code>public class WebAPITokenService1_0 : IWebApiTokenService
  </code></pre>
  
  <p>Here is my code that works with out using the interface in the declaration:</p>
  
  <p>Declaration:</p>
  
  <pre><code>Lazy&lt;WebAPITokenService1_0&gt; webAPITokenService1_0;
  </code></pre>
  
  <p>Initialization:</p>
  
  <pre><code>webAPITokenService1_0 = new Lazy&lt;WebAPITokenService1_0&gt;();
  </code></pre>
  
  <p>Here is the same code, but with using an interface:</p>
  
  <p>Declaration:</p>
  
  <pre><code>Lazy&lt;IWebApiTokenService&gt; webAPITokenService1_0;
  </code></pre>
  
  <p>Initialization:</p>
  
  <pre><code>webAPITokenService1_0 = new Lazy&lt;WebAPITokenService1_0&gt;();
  </code></pre>
  
  <p>Here is the error when using the <code>interface</code> in the declaration:</p>
  
  <pre><code>&gt; Cannot implicitly convert type
  &gt; 'System.Lazy&lt;CanFindLocation.Services.AndroidWebAPI._1_0.WebAPITokenService1_0&gt;'
  &gt; to
  &gt; 'System.Lazy&lt;CanFindLocation.Interfaces.WebService.IWebApiTokenService&gt;'  E:\CanFindLocation\MVC\CanFindLocation\CanFindLocation\Controllers\AndroidWebAPI\1_0\WebService1_0Controller.cs
  </code></pre>
  
  <p>I have had a look at the <a href="https://msdn.microsoft.com/en-us/library/dd997286(v=vs.110).aspx" rel="nofollow">Lazy Initialization</a>, but cannot see any information about the above situation.</p>
  
  <p>Can I use an <code>interface</code> with <code>Lazy&lt;T&gt; initialization</code>, and if so, what is incorrect with my above code?</p>