0

こんにちは、最初のプロジェクト (既定のプロジェクト) のソリューションに別のプロジェクトがあります。この方法で App.xaml.cs へのグローバル参照にアクセスしています:-

アプリ objref = (アプリ)Application.Current;

しかし、今、ソリューションに新しいプロジェクトを追加し、以前に定義したのと同じ方法で app.xaml.cs にアクセスしようとしましたが、 app.xaml.cs にアクセスできませんか?

1) 理由を教えてください

2) 両方のプロジェクトで使用したい場合はどうすればよいですか?

私にお知らせください

前もって感謝します。

4

1 に答える 1

0

アクセスすることはできますが、新しいプロジェクトは、プロジェクト内の派生 App クラスに慣れていません。さらに説明するには、継承を考慮する必要があります。

多数の定義済みメソッドを公開する Application クラスの一般的な定義があります。App.xaml.cs は、Application クラスから派生した新しいクラス定義です。継承したメソッドに加えて、追加したメソッドとプロパティが含まれています。これらを利用するには、追加のプロパティまたはメソッドを使用しようとするコードがクラス定義にアクセスできる必要があります。追加した他のプロジェクトのクラスは、この定義にアクセスできません。

両方のプロジェクトがアクセスできるクラスまたはインターフェイスの定義を作成する必要があります。これを整理するにはいくつかの方法があります。一つ紹介します。

  1. ソリューションでメイン プロジェクトを作成します。これには App.xaml.cs が含まれます。
  2. 他のコードを含むクラス ライブラリ プロジェクトを作成します。
  3. インターフェイス定義のみを含む Common という 3 番目のプロジェクトを作成します。
  4. インターフェイス定義で、クラス ライブラリとメイン プロジェクトの両方にアクセスできるようにするすべてのメソッド/プロパティを定義します。
  5. App.Xaml.cs にこのインターフェイスを実装させます。
  6. クラス ライブラリ アクセス var appReference = (IMyInterfaceName)Applcation.Current. インターフェイスで定義されたメソッドにアクセスできます
于 2012-09-18T16:10:47.370 に答える