2013-04-24 78 views
0

所以我有一個Windows窗體應用程序,它具有一些高級功能,這取決於第三方商業庫。基本上我想實現這個庫的折扣版本,如果大型商業版本不可用,那麼將其用作故障轉移,以便基本應用程序提供所有功能(如果您有商業圖書館)。C#缺少程序集故障轉移

在Python中,你可以做這樣的事情:

try: 
    import <dependency name> 
except ImportError: 
# The dependency is unavailable. 

有沒有在C#中的任何類似的功能?我試過類似的方法(在try/catch塊中包裝使用語句),但根本不起作用。

回答

0

這要看你說的是什麼功能,它更棘手的,如果它的GUI組件等

如果它只是非可視化代碼和類,那麼你可以經常只是抽象的使用像接口功能,以更高的水平然後根據需要加載相關實現。

我以前用IoC做過這樣的事情,它對我們來說工作得很好。

+0

嗯,基本上我只是希望應用程序不會因爲缺少第三方庫而丟失「缺少程序集或引用」。我有所有的代碼來處理兩者之間的切換。我需要做的是在程序集丟失時應用程序實際工作,而不必構建兩個單獨的二進制文件。 因爲我正在使用的庫是第三方商業庫,所以使用接口並不是一個真正的選擇(使用Adapter/Wrapper Pattern),所以即使我編寫了接口,第三方庫也不會實現它。 – 2013-04-24 10:58:32