title: Code Generation for interface....Quick Actions and Refactorings feature in Visual Studio 2015
body: <p><a href="https://i.stack.imgur.com/GXlmU.gif" rel="nofollow noreferrer">Click here for demo of problem</a>
  This is happening for Visual Studio Community 2015 
  Version 14.0.25431.01 Update 3
  On Framework 4.7</p>
  
  <p>Here is what the book says (John Sharp, Microsoft Visual Studio, Step by Step, Eight Edition, Page 427.)</p>
  
  <p>"Return to the definition of the TreeEnumerator class.  In the class declaration, hover over the text IEnumerator.  On the drop-down context menu that appears (with a lightbulb icon)--(I assume he means after you right-click)--click Implement Interface Explicitly".</p>
  
  <p>when I right click, I don't see "implement interface explicitly" but I do see "Quick Actions Refactorings", and because another link (which I am trying to find) says this is the right option, I chose it, but nothing really happens.... As if I did nothing...</p>
  
  <pre><code>using System;
  
  
  
  public class TreeEnumorator&lt;TItem&gt; : IEnumerator&lt;TItem&gt; where TItem : IComparable&lt;TItem&gt;
  {
      private TreeEnumorator&lt;TItem&gt; currentData = null;
      private TItem currentItem = default(TItem);
      private Queue&lt;TItem&gt; enumData = null;
  
      //***** when dealing with a generic class, the constructor does not have &lt;TYPE&gt;
      //NOTICE the name of the constructor is not TreeEnumorator&lt;TItem&gt;
      public TreeEnumorator(Tree&lt;TItem&gt; data)
      {
          this.currentData = data;
      }
  
      private void populate(Queue&lt;TItem&gt; enumQueue, Tree&lt;TItem&gt; tree)
      {
          if (tree.LeftTree != null)
          {
              populate(enumQueue, tree.LeftTree);
          }
  
          enumQueue.Enqueu(tree.NodeData);
  
          if (tree.RightTree != null)
          {
              populate(enumQueue, tree.RightTree);
          }
  
      }
  </code></pre>