我正在尝试添加插件到我的游戏,我想要实现的是这样的:
>插件将是我的或第三方,所以我想要一个解决方案,崩溃的插件不意味着崩溃的主要应用程序.
常常调用插件的方法(例如由于绘制游戏对象).
我到目前为止发现的
> 1)http://www.codeproject.com/KB/cs/pluginsincsharp.aspx – 简单的概念,似乎应该能很好地工作.由于插件在我的游戏中用于每一轮,我将足以添加Restart()方法,如果不再需要插件Unload()方法GC应该照顾.
> 2)http://mef.codeplex.com/Wikipage – 管理扩展框架 – 我的程序应该在.NET 3.5上工作,我不想单独添加任何其他框架我想自己写我的插件系统.所以这个解决方案是没有问题的.
> 3)Microsoft提供:http://msdn.microsoft.com/en-us/library/system.addin.aspx,但根据我读过的几篇文章是非常复杂的.
> 4)插件的不同AppDomains.根据Marc Gravell(Usage of AppDomain in C#)的不同AppDomains允许隔离.卸载插件会很容易.性能负载是什么?我需要非常频繁地调用插件的方法(例如绘制对象).
>使用应用程序域 – http://msdn.microsoft.com/en-us/library/yb506139.aspx
> A few tutorials on java2s.com