Feladatkezelő feladatai DLL-ből
2013-12-20T13:23:53+01:00
2013-12-20T14:24:38+01:00
2022-08-08T11:41:49+02:00
StarFighter
Sziasztok!

Keszitettem egy kisebb feladatkezelot, amibe kulonbozo feladatokat tudok bepakolni es a kezelo automatikusan feldolgozza.

Ezt az alkalmazast kulon reszekre bontottam, tobb DLL-re, hogy ha akarok egy feladatot implementalni akkor azt kulon megtehessem annelkul h a feladatkezelohoz kene nyulni. Minden egyes feladat kulon dll-ben van, feladatoknak van egy kozos dlljuk amiben az alapok vannak.

Szoval a gondom most az, hogy a fo alkalmazasban, valamiert maskeppen fut le egy feltetel false-t add mindig es igy nem mukodik megfeleloen az alkalmazas.

TaskCore.dll
public interface IFileProcessTask {} public class Task {} public class TaskState {}

TXT.dll
public class TxtTask : Task, IFileProcessTask {}

Ez lenne az a resz ami santit:

var processors = new List<TaskCore.IFileProcessTask>(); foreach (var a in AppDomain.CurrentDomain.GetAssemblies()) { foreach (var t in a.GetTypes()) { try { if ((typeof( IFileProcessTask).IsAssignableFrom(t)) && t.IsSubclassOf(typeof(Task))) { processors.Add(t.CreateInstance() as IFileProcessTask); } } catch { } } }

Annyira jutottam, hogy az if feltetel masodik felevel van a gond, az mindig false, nem ertem miert. Ebben tudna valaki segitseget adni?
Kodban nem irtam at semmit, csak dll-ek bontottam az egyes reszeket.
Koszi!
Mutasd a teljes hozzászólást!
Sikerult megoldani! :)


var assemblies = ( from file in Directory.GetFiles( AppDomain.CurrentDomain.BaseDirectory) where Path.GetExtension(file) == ".dll" select Assembly.LoadFrom(file)) .ToArray();

Koszi mindenkinek!
Mutasd a teljes hozzászólást!

abcd