我正在编写一个具有插件功能的应用程序。 每个插件都将存储在 / MyDocuments / AppName / PluginName / 文件夹中。 更好的是,将所有插件设置保存到应用程序设置文件,或为每个插件创建单独的设置文件?
答案 0 :(得分:1)
示例强>
以下是插件设置的基本表示:
public class Plugin
{
public List<PluginSetting> Settings { get; set; }
public string Name { get; set; }
}
public class PluginSetting
{
public string Name { get; set; }
public object Value { get; set; }
}
为简单起见(再次),您可以使用JSON.NET来保存数据:
var plugins = new List<Plugin>(new[]
{
new Plugin
{
Name = "plugin1",
Settings = new List<PluginSetting>(new[]
{
new PluginSetting {Name = "volume", Value = 1.0d},
new PluginSetting {Name = "soundSystemType", Value = "THX"}
})
}
});
string serializeObject = JsonConvert.SerializeObject(plugins, Formatting.Indented);
以上示例的输出:
[
{
"Settings": [
{
"Name": "volume",
"Value": 1.0
},
{
"Name": "soundSystemType",
"Value": "THX"
}
],
"Name": "plugin1"
}
]
将此项保存到&#39; settings.json&#39;例如。
注意强>
你也可以直接对你的插件使用JSON.NET它会更简单,你保存它们的状态并恢复它们,有[JsonIgnore]
等属性忽略一些设置,即可能有您赢得的设置无法保存或希望在某些时候恢复。
看一下这篇文章:
答案 1 :(得分:0)
除非您希望使用设置移动插件,否则我会说:将它们与应用程序保持一致。
如果你使用带有多个主机应用程序的插件,可能会出现唯一的考虑因素。在这种情况下,您必须确定插件应用程序是否应该共享其设置。
您甚至可以选择让每个插件都具有全局设置。
如果将我的应用程序保存在应用程序注册表项的子项中。