ciao.
Ho creato un programma che genera interfacce da c# in c++ utilizzando un xsd e xsd.exe per generare le classi in c# e la reflection per tradurre(solo l'interfaccia e solo per determinati tipi)
adesso devo creare una funzione :
codice:
void uos1::SetData( CBaseIfc* pData, int pos, CBaseIfc* pParent){
        if(pData->GetType().compare(L"Entity[]") == 0)
            m_pItems =(Entity[] ) pData;
    }
il gettype nella funzione ritorna un valore stringa del tipo di pdata che viene inviato alla funzione da un sistema di pharsing.
Il problema č che il metodo della stringa(il polimorfismo dei poveri) non mi va molto bene in quanto se passo una classe che non eredita direttamente dal tipo specificato la perdo , e vorrei gestirla in quanto ha lo stesso come classe base quel tipo base.
Ora :
con l'rtti č possibile fare qualcosa di meglio?
con il dynamic_cast come posso fare?
č molto lento il dynamic cast?

grazie.
ciao.