我觉得你的想法很混乱的,一会儿是源文件,一会儿是dll,一会儿源文件了要加密于是变成dll,一会儿为了加载dll又要搞一个源文件,那么你到底是想干什么?
两句话:
1) 把你想解决的问题的思路理清楚再来想解决方案
2) 把你想解决的问题,以及你设想中的解决方案分开说,不要混在一起。
从源代码生成dll,动态加载dll,动态生成类来继承dll中某个类都是不算复杂的工作。当然你加载扩展时,反而需要生成扩展中的子类(也就是反过来还要扩展那个插件),估计做法方向错了。一般都是定义个插件的协议,让扩展实现,然后加载扩展后根据协议操作。例如,接口就是种协议。