Я использую DLL для связи с загрузчиком через микрочип и использую многие функции библиотеки DLL.
Swicht(DLL Function)
case: Readbyte
MC2211.readbyte(intptr DeviceHabdle, unit number Of Bytes, ref Data)
case : Writebyte
MC2211.readbyte(intptr DeviceHabdle, unit number Of Bytes, ref Data)
Но такая структура противоречит принципу открытого закрытия.