Koe*_*box 2 .net c# interop ms-word
我想使用Office Interop在一个应用程序中支持所有Office套件。
我能够在Visual Basic中通过使用CreateObject()?问题是我无法预先看到这些功能,而不得不在文档之间跳转以完成它(由于Object被使用)。
如果我使用工厂模式并为每个版本的Office都实现了,那么它将起作用吗?
例:
Factory->ABaseOffice GetImplementation(string office_version)
Run Code Online (Sandbox Code Playgroud)
返回ABaseOffice由Office2000和实现的实例OfficeXP。
这样,如果出现了新的Office版本,我只需要为其编写特定的代码,而不必担心以前的版本或依赖于第三方软件。
我不想遵循COM / Interop-支持多种版本的路线。
是的-从理论上讲这是可行的...问题是您绝对不能在同一项目中引用Interop-DLL的不同版本...因此您仍将必须使用后期绑定方法来实现ABaseOffice接口
更新-根据评论:
从理论上讲,所描述的选项(请参阅http://blogs.msdn.com/b/ansonh/archive/2006/09/27/774692.aspx)将允许添加这些引用...不这样做的原因如下:
| 归档时间: |
|
| 查看次数: |
1953 次 |
| 最近记录: |