C# - Modulární aplikace   otázka

C#, WinForms, I/O operace, Knihovny

Zdravím,

hledal jsem mnoho různých návodů, prošel jsem mnoho článků a přesto, bych potřeboval pomoc ohledně tvorby programu, k němuž bude možné připojovat moduly (plug-iny)...

Procházel jsem jedním článkem přímo z tohoto webu, který se týkal VB.NET, ovšem velmi by mi pomohl jednoduchý příklad ve formě třeba matematických operací pro jazyk C# ..

Kdyby někdo měl trošku času a věnoval by ho tvorbě jen jednoduchého příkladu jak by měl vypadat hlavní program a ten případný modul, který by provedl na jeho základě nějakou operaci, tak bych byl moc rád!

předem Děkuji moc! :)

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Nevim jestli to je presne co hledas, ale tady jsem na GitHub zverejnil ukazku toho, jak se v .NET pouzivaji pluginy (v samostatnych aplikacnich domenach, aby je bylo mozne upravovat i za behu aplikace).

https://github.com/Marfusios/MKPluginsSy...

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Záleží také na sofistikovanosti řešení. Vím, že MS na to i přímo nějakou technologii má. Nicméně napsat takový program by se dalo i s využitím reflexe a dynamického donačítání assemblies + podpůrných souborů. Hodně záleží na účelu, resp. co má takový plugin umět. Nějaké základy reflexe jsem popsal tady: https://www.miroslavholec.cz/blog/csharp... a načítání DLL za běhu aplikace je řešeno tu: http://stackoverflow.com/questions/18362.... Obojí je v C#.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Tohle přesně řeší Managed Extensibility Framework - je přímo součástí .NETu. Namespace System.ComponentModel.Composition.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Pozor, že kromě MEFu, který je přímo součástí (pouze plného) .NET Frameworku 4.0 existuje ještě druhá verze (System.Compostion), která je dostupná na NuGetu a je jako portable class library.

Rozdíl mezi těmito verzemi viz:

https://mef.codeplex.com

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:  
Heslo:  

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback