点网中的可选参考

本文关键字:参考 | 更新日期: 2023-09-27 18:14:18

我希望它可能是。net中的一个高级概念
我的问题是

如何使用可选引用设置程序?

示例:考虑这个例子,我有一个程序,可以导出数据到Excel。
此功能需要参考Microsoft Office Excel(某些特定版本)

是否有办法编写一个程序,无论是否安装Excel都可以运行,但某些特定的选项(如读取或写入Excel)只有在安装Excel时才会完成。

即使没有安装Excel,程序也能运行。

谢谢。

点网中的可选参考

有两种基本方法。

  1. Assembly.Load允许您在运行时加载任意程序集,检查其内容,实例化对象,调用方法等。你通常会把它隐藏在接口、默认实现、工厂方法等后面。依赖注入可能依赖于这样的技术。

  2. 您可以使用Microsoft托管可扩展性框架,它可以完成所有这些以及更多。参见http://msdn.microsoft.com/en-AU/library/dd460648%28v=vs.110%29.aspx。

Excel有点特殊,因为它可以通过COM自动化访问,这提供了一些其他的机会,并可能增加一些其他的复杂性。您通常可以构建并运行程序,因为包装程序集将存在,并且如果Excel不存在,则可以在运行时处理执行失败。

无论采用哪种方式,都可能需要编写相当多的代码。问题中没有足够的细节来说明更多,但这不仅仅是设置一个"可选"标志的问题。