在Xamarin c#中为全局变量使用自定义应用程序类
本文关键字:自定义 应用程序 全局变量 Xamarin | 更新日期: 2023-09-27 18:20:36
我正在使用一个自定义应用程序类来存储我的全局变量,但我似乎无法使其工作。这是我的课:
#if DEBUG
[assembly: Application(Debuggable = true)]
#else
[assembly: Application(Debuggable=false)]
#endif
internal class MyApp : Application
{
private Customer loginedCustomer;
private List<string> sefareshItems;
public Boolean isOnline { set; get; }
public MyApp(IntPtr handle, JniHandleOwnership ownerShip) : base(handle, ownerShip)
{
}
public override void OnCreate()
{
// If OnCreate is overridden, the overridden c'tor will also be called.
base.OnCreate();
}
public void SetLCustomer(Customer customer)
{
loginedCustomer = customer;
}
public Customer GetLCustomer()
{
return loginedCustomer;
}
public void SetItems(List<string> items)
{
sefareshItems = items;
}
public List<string> GetItems()
{
return sefareshItems;
}
}
由于我可以找到任何关于使用此类的文档,并且通过查看java示例,这两个代码都给了我"无法从源代码转换到目标代码"的异常
MyApp m = (MyApp)Application;
和
Myapp m=(MyApp)ApplicationContext;
你能帮我弄清楚吗?我还有一个问题。使用方法或使用公共静态方法获取或设置变量是一种好的做法吗?感谢
应用程序是一个类定义。
您将需要一个应用程序实例来转换为MyApp。
将MyApp设为静态类。
制作方法的静态方法。
然后,您可以简单地访问用MyApp替换对应用程序的所有引用,并以这种方式使用它。