c# - Xamarin.Forms jamesmontemagno 设置插件
问题描述
我正在构建 xamarin 表单应用程序,我正在使用jamesmontemagno
设置插件,并且正在添加一个类列表的属性。但问题是我无法添加或插入列表,每次我使用 Add 或 Insert 方法时,它都会跳入 get 而不是集合,我不明白为什么。
这是我的代码,并提前感谢您的帮助:
//向列表中添加一个项目
private void order(Sales_Order_Items sale)
{
orderlist.Add(sale);
Settings.Usercartlist.Add(sale);
}
我只能使用此代码进行设置
Settings.Usercarlist=orderlist;
设置文件中的属性
public static List<Sales_Order_Items> Usercartlist
{
set
{
string listValue = JsonConvert.SerializeObject(value);
AppSettings.AddOrUpdateValue(myIntListKey, listValue);
}
get
{
string value = AppSettings.GetValueOrDefault(myIntListKey, string.Empty);
List<Sales_Order_Items> myList;
if (string.IsNullOrEmpty(value))
myList = new List<Sales_Order_Items>();
else
myList = JsonConvert.DeserializeObject<List<Sales_Order_Items>>(value);
return myList;
}
}
解决方案
添加项目时,实际的对象引用不会改变。只有值改变。这不是由 getter 或 setter 拾取的。
在每个项目之后更新的唯一方法是添加您已经拥有的行:Settings.Usercarlist=orderlist;
在每个操作之后。
推荐阅读
- c# - 如何将数据从一个列表框添加到另一个列表框?
- html - 引导汉堡不打开
- python - influxdb 数据库中缺少行
- reactjs - 我一直在向父母打电话给孩子道具。我想找出最佳做法
- rest - 显示实体存在的良好 HTTP 响应是什么?
- python - 使用 cx_freeze 冻结后的绝对路径(Qt5 / PySide2 App)
- python - pip install web3 没有安装
- usb - 从 USB-C 驱动器和 iPad iOS13 读取文件和内容
- javascript - 按键删除项目 - 如何将该键值传递给 React Native 中的 Delete 函数
- sql - Finding the number of agents working for a manager in a certain week