Is there a way to call an extension from within a generic class, where the variable class is also the extended class? Here is a sample piece of code. It does not compile. 

public class GenericFoo&lt;TFrom,TTo&gt;
{
   public TTo GenericFoo(TFrom A)
   {
      return A.Bar();
   }
}

public static class Extensions
{
    public static MyType Bar(this MyExtendedType source)
    {
       return new MyType();
    }
}


This produces the following error: 


  'TFrom' does not contain a definition for 'Bar' and the best extension
  method overload
  'MyNamespace.Extensions.Bar(MyNamespace.MyExtendedType)' has some
  invalid arguments



Question: Can flexible plastics have reflective coating (vacuum metalized)?
Answer: There are many techniques for metal-coated polymers, as linked by permeakra Generally, vacuum deposition is an issue because the metal is hot. Cold deposition techniques (e.g., sputtering, ink coating) often work better.

Common, commercially-available materials include:


Pyralux - copper-coated polyimide from DuPont.
Mylar - DuPont's name for biaxially-oriented polyethylene terephthalate (BoPET)


As mentioned in other answers, adhesion is an issue, and to my knowledge, the processes to bind Pyralux and metabolized Mylar are proprietary.

Chemistry.About.com does mention vapor deposition of metals into Mylar, though.