在我的项目的app.xaml.cs中,我添加了两个类型为UserProfile和ExercisePlan的成员变量。我添加了这些,以便我可以在项目范围内访问它们。在我的自定义类ExercisePlan中,我正在创建另一个UserProfile类型的成员变量。我想将此UserProfile变量设置为等于Application.Current.UserProfile。
理论上我想在我的类中设置变量等于应用程序的当前用户。当我尝试这个VS告诉我Application.Current不存在。
我已经做了类似这样的事情,但它是在.xaml.cs文件中而不是自定义类文件。
新的WPF所以,如果有更好的方法来做所有这些,请教我
namespace TrackFit_Project
{
public partial class App : Application
{
#region Member Variables
private UserProfile user;
private ExercisePlan exercisePlan;
#endregion
}
}
namespace TrackFit_Project
{
public class ExercisePlan
{
#region Member Variables
// This is where my issue is
// public UserProfile _user = Application.Current.UserProfile();
#endregion
}
}
答案 0 :(得分:0)
class foo {
private string my_foo;
public void foo(string injected){ my_foo = injected; } // dependency was injected
// more stuff
}
您可以使用类似Autofac
的内容为您执行此操作,或者只需将变量传递给您的类即可手动执行此操作。
底线是一样的,你得到你需要的变量,而不依赖于其他模块,你可以在单元测试你的应用程序时轻松地模拟它们(因为你对应用程序进行单元测试,对吗?)