none
Volání třídy z jiného adresáře

    Dotaz

  • Zdravím,

    chci se zeptat, zda je možné, aby aplikace mohla zavolat nebo vytvořit instanci třídy, která se nachází v jiné složce a není součástí samotné aplikace. Plánuji něco podobného využít ve své aplikaci, kterou bude možné doplňovat o různé komponenty v podobě zmíněných třídách. Jediný způsob jak toho docílit, který znám, je vytvoření "vlastního skriptovacího jazyka", ve kterém by byla komponenta napsaná a aplikace by jednotlivé příkazy vyhodnotila v podmínkách a stringových metodách.

    Bohužel vytvořit něco takového je docela dlouhodobý problém a nebude to stoprocentně efektivní. proto se ptám na tu věc s těmi třídami. Pokud někdo zná odpověď, prosím, napište ji, pomůžete mě i mým "spolupracovníkům".

    úterý 12. března 2013 19:56

Odpovědi

  • Dost záleží na tvých konkrétních požadavcích a možnostech, ale rozhodně bych ti doporučil podívat se na MEF (Managed Extensibility Framework) - ten dokáže načíst speciálně označené typy ze všech assemblies v konkrétním adresáři a umístit jejich instance do tebou definovaných míst v applikaci.

    Jinak samozřejmě můžeš i načítat assemblies manuálně a hledat konkrétní typy pomocí reflexe, ale pokud můžeš použít MEF, neváhal bych.

    • Označen jako odpověď DISCOVERY.2 úterý 26. března 2013 17:42
    středa 13. března 2013 12:35

Všechny reakce

  • Dost záleží na tvých konkrétních požadavcích a možnostech, ale rozhodně bych ti doporučil podívat se na MEF (Managed Extensibility Framework) - ten dokáže načíst speciálně označené typy ze všech assemblies v konkrétním adresáři a umístit jejich instance do tebou definovaných míst v applikaci.

    Jinak samozřejmě můžeš i načítat assemblies manuálně a hledat konkrétní typy pomocí reflexe, ale pokud můžeš použít MEF, neváhal bych.

    • Označen jako odpověď DISCOVERY.2 úterý 26. března 2013 17:42
    středa 13. března 2013 12:35
  • Skvělé, děkuji. Něco takového jsem potřeboval, ale na MSDN mi ta ukázka moc nepomohla pochopit jak co funguje, takže jsem zkoušel najít návod a našel jsem toto:

    From Zero to Proficient with MEF - CodeProject

    Rozhodně je to popasné podrobněji a je tam více příkladů. Snad to pomůže každému, kdo má nebo měl podobný problém.

    úterý 26. března 2013 17:41