0

嗨,我在初始项目(默认项目)中的解决方案中有不同的项目,我正在以这种方式访问​​对 App.xaml.cs 的全局引用:-

应用 objref = (App)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 的项目,该项目仅包含一个接口定义。
  4. 在接口定义上定义您希望类库和主项目也可以访问的所有方法/属性。
  5. 让 App.Xaml.cs 实现此接口。
  6. 在类库中访问 var appReference = (IMyInterfaceName)Applcation.Current。您将可以访问接口中定义的方法
于 2012-09-18T16:10:47.370 回答