在Xamarin中,我想使用应用程序对象存储数据和全局变量。
我查看了此代码的此资源:http://www.helloandroid.com/tutorials/maintaining-global-application-state
这是我的代码:
public class HelloApplication : Application
{
private int GlobalVariable = 1;
public int GetGlobalVariable()
{
return GlobalVariable;
}
public void SetGlobalVariable(int GlobalVariable)
{
this.GlobalVariable = GlobalVariable;
}
}
我正在尝试使用此代码参考类:
((HelloApplication)GetApplication()).setGlobalVariable(10);
int variable=((HelloApplication)GetApplication()).getGlobalVariable();
当我构建应用程序时,我正在为上述代码的两行遇到此错误:
当前上下文中不存在" getapplication"的名称
我可以提供一些帮助以使此代码工作吗?
编辑
这是我的代码:
HelloApplication state = ((HelloApplication) this.ApplicationContext);
state.SetGlobalVariable(10);
int globalVariable = state.GetGlobalVariable ();
Toast.MakeText (this, "Global variable " + globalVariable, ToastLength.Short).Show ();
这是我遇到的错误:
未经手的异常:system.invalidcastException:无法从源类型到目标类型。
我可以为此提供一些帮助吗?
查看代码,您可以使变量成为公共静态。
public class HelloApplication : Application
{
public static int GlobalVariable = 1;
}
用法:
HelloApplication.GlobalVariable = 10;
更改:
((HelloApplication)GetApplication())
to
((HelloApplication)GetApplicationContext())