C# 使用MEF生成/打印自定义报告?
我有一个为最终用户生成报告的应用程序。这些是C# 使用MEF生成/打印自定义报告?,c#,.net-4.0,mef,C#,.net 4.0,Mef,我有一个为最终用户生成报告的应用程序。这些是DevExpress XtraReports。一个用户可能希望报表中的某些字段采用某种格式,而另一个用户可能希望相同或更多字段采用不同格式。而不是像这样做: if(user == "") //print report for this user PrintReport(user); else //print report for other user PrintReport(user) 我认为最好在这里使用MEF并创建一些IPri
DevExpress XtraReports
。一个用户可能希望报表中的某些字段采用某种格式,而另一个用户可能希望相同或更多字段采用不同格式。而不是像这样做:
if(user == "")
//print report for this user
PrintReport(user);
else
//print report for other user
PrintReport(user)
我认为最好在这里使用
MEF
并创建一些IPrintReport
界面,让MEF
根据我的PrintReport
方法目录中的程序集来管理应该打印的报告。这是使用MEF
的好方案,还是有更好或更简单的方法来处理这一问题?我认为这是一种可以使用MEF
来解决您的问题的情况,但我首先要问自己一个问题:
- 我是否需要在不重新编译主应用程序的情况下添加其他报告格式
MEF
是过分的。使用MEF
的主要好处是,我的应用程序的模块可以独立于主应用程序开发。我不需要重新发布整个应用程序来修复其中一个组件中的一个小错误。我可以简单地将新的.dll放到一个文件夹中,我的应用程序就会开始使用它
如果您对上述问题回答“否”,我不会为此使用MEF
。相反,我将创建您提到的IPringReport
接口。实现此接口的所有类都可以在应用程序设置中列出,用户可以在其中选择所需的格式。如果您的用户不想处理选择格式的问题,您可以简单地使用一个设置文件为他们设置格式