Я использую собственный класс приложения для хранения моих глобальных переменных, но, похоже, я не могу заставить его работать. вот мой класс:Использование пользовательского класса приложения для глобальных переменных в Xamarin C#
#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;
}
}
и с тех пор я мог бы найти любую документацию об использовании такого класса и, посмотрев на примеры ява оба этих кода дает мне «неспособный отлиты из источника к месту назначения» исключение
MyApp m = (MyApp)Application;
и
Myapp m=(MyApp)ApplicationContext;
могли бы вы помочь мне понять это? , и у меня есть другой вопрос. Это хорошая практика для получения или установки переменных с использованием методов или использования публичного статического? спасибо
Это свойство называется Application there.i'm, используя это не определение класса. –
Это статическое определение класса, а не свойство. Вы можете использовать статические методы и свойства определения статического класса, но он сам по себе не является экземпляром класса Application. –
Итак, если мне нужно сделать экземпляр моего класса в каждом действии, как я могу поделиться переменными между ними? –