在Xamarin中删除对Application类的依赖

时间:2019-02-22 09:46:16

标签: xamarin

我有一个xamarin应用程序,其中有一个静态属性,当用户浏览不同页面时,该属性会更新其值。

public partial class App : Application
{
    public static string Status { get; set; }
}

在每个页面的ViewModel下,我有一个转到Next Page命令,该命令在用户单击next按钮时更新。

public async void GoToNextAsync() 
{
   App.Status = "PageName"
}

但是,由于依赖于App类,这使得VM无法运行单元测试。

重构代码的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

通常,我使用现有的MainPage属性来获取CurrentPage的名称(比使用任何静态属性更好)

现在有关MainPage的好处是它是一个可自行维护的静态属性,因此可以在项目中.NetStandard可用的任何地方使用

var pagename = Application.Current.MainPage.GetType().Name;