我有一节课:
public class CustomClass
{
public string Columns;
public string Filter;
public string SourceDB;
public string SourceTable;
public string DestinationDB;
public string DestinationTable;
}
在用户设置中,我需要存储一个CustomClass数组。这是因为我需要用户能够在 app.config 文件中指定多个 CustomClass。
最佳答案
您必须首先在项目设置文件中创建一个设置,我们将其命名为CustomClasses
。下一部分有点棘手,因为它涉及编辑 Settings.settings 文件的 XML:
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings"
CurrentProfile="(Default)"
GeneratedClassNamespace="ConsoleApplication1.Properties"
GeneratedClassName="Settings">
<Profiles />
<Settings>
<Setting Name="CustomClasses"
GenerateDefaultValueInCode="false"
Type="System.Collections.Generic.List<ConsoleApplication1.CustomClass>"
Scope="User">
</Setting>
</Settings>
</SettingsFile>
如果您打开 Settings.Designer.cs 文件,您现在应该拥有:
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
public global::System.Collections.Generic
.List<ConsoleApplication1.CustomClass> CustomClasses {
get {
return ((global::System.Collections.Generic
.List<ConsoleApplication1.CustomClass>)(this["CustomClasses"]));
}
set {
this["CustomClasses"] = value;
}
}
您可以将设置保存在应用程序中:
class Program
{
static void Main(string[] args)
{
Properties.Settings.Default.CustomClasses = new List<CustomClass>() {
new CustomClass(){Columns="columns1"},
new CustomClass(){Columns="columns2"},
new CustomClass(){Columns="columns3"},
new CustomClass(){Columns="columns4"}
};
Properties.Settings.Default.Save();
}
}
关于c# - 将自定义类的数组存储在设置文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17939513/