2017-06-02 50 views
0

我們在Windows應用程序和Web應用程序中都使用過一個項目作爲dll(common.dll)。我們已經在common.dll中定義了一個屬性(webProp)。 webProp只應在Web應用程序中可見。該屬性不應在Windows應用程序中可見。如何限制在另一個項目中使用財產

有沒有辦法做到這一點?

在此先感謝。

+0

您應該提取常用接口並擴展Web應用程序的接口。這樣做可以隱藏common.dll中的實現(應用程序只能使用接口) –

+1

可能的重複[如何限制引用庫中的公共訪問修飾符?](https://stackoverflow.com/questions/44302553/how-can -i-restrict-public-access-modifier-in-referenced-library) – john

+1

雖然你可以使用'InternalVisibleToAttribute'來做到這一點,我建議不要這樣做。那麼如果該屬性是可見的,那麼對另一個項目是否可見,這是否會造成危害?如果是,那麼重新考慮你的設計。即使可見,「內部」的東西也可以改變,沒有人應該依賴它們。您應該嘗試僅依賴於公共接口。 – CodingYoshi

回答

1

您可以將屬性設置爲內部屬性,並且必須依賴InternalVisibleToAttribute才能使屬性在web項目中可見,並且由於使用了內部屬性,因此在窗口項目中該屬性不可見。

相關問題