Properties.Settings.Default 更改值并调用 Save() 和 Reload() 后值为空

Properties.Settings.Default value is null after changing it, and calling Save() and Reload()

我在我的项目中使用设置文件来存储应用程序设置。我运行的问题是:

Properties.Settings.Default.IpAddress = IPAddress.Parse("192.168.0.1");
Properties.Settings.Default.Save();
Properties.Settings.Default.Reload();
var ipaddress = Properties.Settings.Default.IpAddress;

这里,ipaddressnull 值结束。如果我在调用 Reload() 之前检查 Properties.Settings.Default.IpAddress,它的值是正确的。

Properties.Settings.Default.IpAddress 设置为用户作为范围

根据文档,对于可在应用程序设置中使用的类型,它必须是 Xml 可序列化的,或者具有 TypeConverterstringTypeConverterIPAddress两者都没有,所以不能在应用程序设置中使用。

您可以使用 string 来存储您的 IP 地址,或者如果这不方便,请创建您自己的类型来正确处理转换。