【问题标题】:c# / Xamarin: Getting a class name instead of instance of classc# / Xamarin:获取类名而不是类的实例
【发布时间】:2016-11-02 07:31:25
【问题描述】:

我正在尝试将变量保存到持久存储中(如 here 所述),但编译器无法识别“应用程序”类的“当前”成员。我正在尝试这个:

Application.Current.Properties["id"] = id;

但是 VS2015 假定“应用程序”是“应用程序”类的实例,而不是类本身。 (给出的错误是:“应用程序”不包含“当前”的定义)。

实例在库模块中定义:

public Application Application { get; }

我试过 GetType() 和 MethodBase.GetCurrentMethod() 都没有成功。抱歉,这是我忘记的基本 c# 知识。

【问题讨论】:

  • 您使用的是 Forms,还是只是一个 Android 项目?您使用的链接是针对表单的,但您在下面的回复听起来像是一个 Android 项目。
  • 是的,谢谢,这是一个 Android 项目。我确实搜索了“Xamarin Android 持久存储”,但没有注意到出现的信息是关于表单的。

标签: xamarin


【解决方案1】:

使用完全限定的类型名称,包括声明类的命名空间:

Xamarin.Forms.Application.Current.Properties["id"] = id;

【讨论】:

  • 更好,谢谢,但仍然没有。 'Android.App.Application.Current.Properties["id"] = id' :现在 'Application' 被识别为一个类,但仍然没有定义 'Current'。看起来 Xamarin 的最新更新(我刚刚安装)没有这个定义,我在“Android.App”的元数据中找不到它
  • 它仅在使用 Xamarin Forms 的项目中可用。您似乎没有使用 Xamarin Forms。
  • 你只想定位安卓吗?如果是,您可以使用stackoverflow.com/questions/26668509/… 的解决方案
  • 是的,这就是我需要的,这是一个Android项目。我搜索了“Xamarin Android 持久存储”,但没有注意到出现的信息是关于表单的。 'SharedPreferences' 工作正常;我只想存储一个整数。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-01
  • 2010-10-05
相关资源
最近更新 更多