【问题标题】:Store data and global variables using the Application object使用 Application 对象存储数据和全局变量
【发布时间】:2014-02-24 23:37:02
【问题描述】:

在 Xamarin 中,我想使用 Application 对象存储数据和全局变量。

我查看了此代码的资源: 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:无法从源类型转换为目标类型。

我能帮我解决这个问题吗?

【问题讨论】:

  • 你可以试试HelloApplication state = ((HelloApplication) getApplicationContext()); state.setGlobalVariable(10); int variable= state.getGlobalVariable();看看是否可行。
  • try ((HelloApplication) this.getApplication()).setGlobalVariable(10);
  • 你能看看我的编辑吗?

标签: android class xamarin global-variables


【解决方案1】:

改变:

((HelloApplication)GetApplication())

((HelloApplication)GetApplicationContext())

【讨论】:

    【解决方案2】:

    查看代码,您可以将变量设为公共静态变量。

    public class HelloApplication : Application 
    {
        public static int GlobalVariable = 1;
    }
    

    用法:

    HelloApplication.GlobalVariable = 10;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-02-18
      • 1970-01-01
      • 2017-05-26
      • 2012-03-27
      • 2021-12-07
      • 2019-08-26
      • 1970-01-01
      相关资源
      最近更新 更多