我有一个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无法运行单元测试。
重构代码的最佳方法是什么?
答案 0 :(得分:0)
通常,我使用现有的MainPage属性来获取CurrentPage的名称(比使用任何静态属性更好)
现在有关MainPage的好处是它是一个可自行维护的静态属性,因此可以在项目中.NetStandard
可用的任何地方使用
var pagename = Application.Current.MainPage.GetType().Name;