title: Typecast Generic type to other type
body: <p>i have a base class</p>
  
  <pre><code> TEventMulticaster = class(Tobject)
   public
     procedure Notify(aMap: WideString);
   end;
  
   procedure TEventMulticaster.Notify(aMap: WideString);
   begin
    // Do something 
   end;
  </code></pre>
  
  <p>And a derived generic class</p>
  
  <pre><code>  TEventMulticaster&lt;T&gt; = class(TEventMulticaster)
     public
       procedure Notify(aMap: T ); reintroduce;
     end;
  
  
    procedure TEventMulticaster&lt;T&gt;.Notify(aMap: T);
    begin
      inherited Notify(aMap)  // ERROR
    end;
  </code></pre>
  
  <p>when base class Notify is call it give me error <strong>"Incompatible types: 'WideString' and 'T'"</strong> 
  and when i do  <code>**Notify(WideString(aMap))**</code> it says invalid typecast</p>
  
  <p>my question is how can i type cast generic type to "<strong>WideString</strong>" so that i can call base class <code>notify</code></p>