C# 为什么两个序列化文件不在设置中序列化?

C# 为什么两个序列化文件不在设置中序列化?,c#,serialization,C#,Serialization,我有一个WinForms应用程序,其中序列化用于WF设置。我有一个使用System.Drawing.Color的设置——它可以正常工作(序列化),没有任何问题。我还使用List进行了一些设置,其中X可以是string,System.Drawing.Rectangle——它也可以工作 但是,当我尝试使用类型为列表的设置,然后保存设置(例如所有红色)时,我会在设置文件中得到一个空颜色条目列表。即颜色不序列化 为什么当我有一种颜色(作为单个实例)并且当我将颜色放入列表中时,它们不能被序列化 更新:这是

我有一个WinForms应用程序,其中序列化用于WF设置。我有一个使用
System.Drawing.Color
的设置——它可以正常工作(序列化),没有任何问题。我还使用
List
进行了一些设置,其中
X
可以是
string
System.Drawing.Rectangle
——它也可以工作

但是,当我尝试使用类型为<代码>列表的设置,然后保存设置(例如所有红色)时,我会在设置文件中得到一个空颜色条目列表。即颜色不序列化

为什么当我有一种颜色(作为单个实例)并且当我将颜色放入列表中时,它们不能被序列化

更新:这是我保存数据的方式

// single color -- it works
MyApp.Properties.Settings.Default.SinglePenColor = System.Drawing.Color.Red;
// list of colors -- it does not work, it produces empty color entries in file
MyApp.Properties.Settings.Default.MarkerColors = 
    new [] { System.Drawing.Color.Red, System.Drawing.Color.Red }.ToList();

MyApp.Properties.Settings.Default.Save();

您使用哪种序列化程序?@eocron,只是为了记录——我不知道,这是由WF内部完成的。无论如何,设置是XML文件。你能提供保存设置的代码吗?@john,当然,请查看更新。我们看不到什么是curr_颜色或运行时值。添加类和调试信息或编写一个。