C# Mono SharedPreferences|LocalSettings alternative
本文关键字:LocalSettings alternative SharedPreferences Mono | 更新日期: 2023-09-27 18:11:36
我正在写一个应用程序在Mono,这是一个非手机应用程序,我们只是用它来针对多个平台内部。
我希望坚持简单的应用程序设置,我是SharedPreferences
在Android或LocalSettings
在Windows平台上使用的方法的大粉丝;有人知道在Mono生态系统中有类似的方法吗?
Mono支持System.Configuration.ApplicationSettingsBase
(我最喜欢的)。你也可以使用.ini
文件,有一个注册表包装等…
设置的子类:
class MySetting : System.Configuration.ApplicationSettingsBase
{
[UserScopedSettingAttribute]
[DefaultSettingValueAttribute("Overflow")]
public String Stack
{
get { return (String)this["Stack"]; }
set { this["Stack"] = value; }
}
}
用法:
class MainClass
{
public static void Main(string[] args)
{
var settings = new MySetting();
Console.WriteLine(settings.Stack); // Default value
settings.Stack = "Not Overflowing"; // Assign new value
settings.Save(); // Persist the setting's changes
var settings2 = new MySetting(); // ReLoad persisted values
Console.WriteLine(settings2.Stack);
var settings3 = new MySetting(); // Reset values back to their defaults
settings3.Reset();
Console.WriteLine(settings3.Stack);
}
}
macOS
输出:
StackOverflow
Not Overflowing
StackOverflow
裁判:https://github.com/mono/mono/blob/aa77a6ddccd9751a7f83fb066add7baabfb84062/mcs/class/System/System.Configuration/ApplicationSettingsBase.cs