我認爲這是一個工廠/供應商類型的故事,但我不知道如何描述我的問題。它是這樣的。如何使一個.NET COM包裝通用
InstallShield有一個COM自動化接口,它們在每個發行版中更改它的名稱。如果是的VBScript我會說
set project = CreateObject("ISWiAuto15.ISWiProject) ' InstallShield 2009
set project = CreateObject("ISWiAuto16.ISWiProject) ' InstallShield 2010
一次我有一個項目對象,我可以做的事情一樣
在C#.NET 3.5添加我的COM參考,並做同樣的事情,除了現在我與這個班級緊密相連。我想能夠做到這樣的事情
var project = CreateProjectObject(typeof ISWiAutoXX.ISWiProject)
但我不知道如何做到這一點,因爲似乎沒有任何共享接口投與。
我運氣不好還是有辦法解決這類問題?
在.NET 4中,有'動態',但在3.5我相信你搞砸了。 – 2010-08-05 22:41:27
我很害怕你會這麼說。我只是構建自動化框架的一小部分,我不打算很快去.NET 4。 – 2010-08-05 22:45:30