2012-09-18 40 views
0

嗨我在我的解決方案中的初始項目(默認項目)中有不同的項目我正在以這種方式訪問​​對App.xaml.cs的全局引用: -使用App.xaml.cs參考另一個項目中存在的相同解決方案?

App objref =(App)Application.Current ;

但是現在我已經將新項目添加到我的解決方案並嘗試以前面定義的相同方式訪問app.xaml.cs,但我無法訪問app.xaml.cs?

1)我知道,如果我想在這兩個項目使用它我應該怎麼辦的原因

2)?

請讓我知道

在此先感謝。

回答

0

您可以訪問它,但新項目不會熟悉項目中派生的App類。爲了進一步解釋,我們需要考慮繼承。

有一個Application類的通用定義,它公開了一些預定義的方法。您的App.xaml.cs是從Application類派生的新類定義。它具有繼承的方法以及您添加的所有方法和屬性。要使用這些試圖使用你的額外屬性或方法的代碼,必須有權訪問類定義。您添加的其他項目中的課程無法訪問此定義。

您需要製作兩個項目都有權訪問的類或接口定義。有幾種組織方式。我會介紹一個。

  1. 在解決方案中創建您的主項目。這包含您的 App.xaml.cs.
  2. 創建您的類庫項目,其中包含 其他代碼。
  3. 創建一個名爲Common的第三個項目,該項目僅包含接口定義的 。
  4. 在接口定義中,定義您希望您的類庫和主項目都具有 訪問權限的所有方法/屬性 。
  5. 讓App.Xaml.cs實現這個接口。
  6. 在類庫中訪問var appReference = (IMyInterfaceName)Applcation.Current。你將有機會獲得在接口
+0

首先感謝您的答覆的中定義的方法 , 我只是想再次確認你說的話,你告訴的是,創建一個新項目並通過我的應用程序放置所有這些comman事物,如我想要使用的列表,對象或類,並將這個新創建的項目引用到現有項目中,以便我可以訪問所有comman事物(存在於我新創建的項目中)我的其他項目。 對不對?或者我完全在錯誤的軌道 請讓我知道 在此先感謝 – user1516781

+0

你是對的。 – Joel

相關問題